Vue中过滤器如何使用,要注意什么?
Admin 2022-12-07 群英技术资讯 586 次浏览
这篇文章我们来了解“Vue中过滤器如何使用,要注意什么?”的内容,小编通过实际的案例向大家展示了操作过程,简单易懂,有需要的朋友可以参考了解看看,那么接下来就跟随小编的思路来往下学习吧,希望对大家学习或工作能有帮助。
Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示:
<!-- 在双花括号中 --> {{ message | capitalize }} <!-- 在 `v-bind` 中 --> <div v-bind:id="rawId | formatId"></div>
注意:过滤器函数接收的第一个值是message,依次是传的值。
过滤器是可以叠加的,后面过滤器接收前面过滤器的返回值。
如这段代码:
<div id="app"> <div v-bind:id="message|capitalize('a','b')|gl"></div> </div>
它的过滤器 capitalize的第一个参数是message,第二个第三个参数是字符串a和b
在组件的选项中定义
filters:{ capitalize:function(value,x,y){ return value+x+y; }, gl:function(value){ value=value.toString(); return value.toUpperCase(); } }
全局过滤器使用:Vue.filter( filterName,( )=>{ return // 数据处理结果 } )
- 参数一:是过滤器的名字,也就是管道符后边的处理函数;
- 参数二:处理函数,处理函数的参数同局部过滤器(组件内过滤器)一样
注意:当全局过滤器和局部过滤器重名时,会采用局部过滤器
全局定义
Vue.filter("addPriceIcon",function(value){ console.log(value)//200 return '¥' + value }) new Vue({ ... })
或者
// 实现一个给所有数字小数部分都变成两位,没有后补零 export const yuan = value => value ? (value / 100).toFixed(2) : value; export default { install(Vue) { Vue.filter('yuan', yuan); } };
在main.js里引入
import filters from '@/filter'; Vue.use(filters);
可以在任意组件内使用只能是在v-bind或者双花括号插值里用
<!-- 在双花括号中 --> {{ message | yuan}} <!-- 在 `v-bind` 中 --> <div v-bind:id="rawId | yuan"></div>
从后台接受数据过来的时候时间是时间毫秒,我选择了使用过滤器,接下来给大家分享一下使用过程
1.在全局配置过滤器 main.js文件里面
代码:
// 时间过滤器 Vue.filter('dateFilter', function (val) { const time = new Date(val) const y = time.getFullYear() const m = (time.getMonth() + 1 + '').padStart(2, '0') const d = (time.getDate() + '').padStart(2, '0') const hh = (time.getHours() + '').padStart(2, '0') const mm = (time.getMinutes() + '').padStart(2, '0') const ss = (time.getSeconds() + '').padStart(2, '0') return y + '年' + m + '月' + d + '日' + '' + hh + ':' + mm + ':' + ss })
截图:
2.使用过滤器 在需要的组件使用
代码:
{{essayData.times | dateFilter}} //dateFileter是过滤器名 essayData是需要过滤的数据
vue中过滤器的作用可被用于一些常见的文本格式化。(也就是修饰文本,但是文本内容不会改变)
过滤器分全局过滤器和局部过滤器,全局过滤器在项目中使用频率很高,要掌握
过滤器可以用在两个地方:双花括号插值 或 v-bind表达式。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
时钟是我们查看时间的一种工具,很多人家家里都会摆放一个时钟,那么我们用代码能实现一个时钟效果吗?答案是可以用的,这篇文章主要教大家用JS代码配置CSS样式来实现一个动态的时钟效果,效果如下图所示,下面我们一起来学习下。
改变方法:1、利用value属性,语法“input对象.value = "修改后的值";”;2、利用setAttribute()方法,语法“input对象.setAttribute("value","修改后的值");”。
本篇文章带大家继续angular的学习,简单了解一下angular中Directive指令的使用,希望对大家有所帮助!
最近因为基础设施调整,需要进行harbor镜像仓库的迁移,主要是旧版本很老了,不想使用,直接打算部署新的,原以为直接使用复制功能就可以,但是发现版本差异太大,直接失败,本打算使用中间版本过度进行迁移,但是需要测试,好多功能,而且配置有点费事,尽管官方提供了升级说明,但是没敢用,就怕出故障restapi请求流程还好harbor提供了restapi,还算比较全,proj
这篇文章主要为大家详细介绍了微信小程序实现表单验证,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008