加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Vue中过滤器如何使用 要关注什么

发布时间:2023-06-15 13:46:47 所属栏目:语言 来源:
导读:这篇文章我们来了解“Vue中过滤器如何使用,要注意什么?”的内容,小编通过实际的案例向大家展示了操作过程,简单易懂,有需要的朋友可以参考了解看看,那么接下来就跟随小编的思路来往下学习吧,希望对大

这篇文章我们来了解“Vue中过滤器如何使用,要注意什么?”的内容,小编通过实际的案例向大家展示了操作过程,简单易懂,有需要的朋友可以参考了解看看,那么接下来就跟随小编的思路来往下学习吧,希望对大家学习或工作能有帮助。

过滤器实质不改变原始数据,只是对数据进行加工处理后返回过滤后的数据再进行调用处理。我们看一下官方的定义:

Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示:

<!-- 在双花括号中 -->

{{ message | capitalize }}

<!-- 在 `v-bind` 中 -->

<div v-bind:id="rawId | formatId"></div>

Vue中过滤器如何使用

组件内过滤器

注意:过滤器函数接收的第一个值是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>

补充:vue中的过滤器可以格式化以及美化内容

从后台接受数据过来的时候时间是时间毫秒,我选择了使用过滤器,接下来给大家分享一下使用过程

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表达式。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!