vue的过滤器语发及应用案例

1.使用地方:

双花括号插值处或  组件属性处

例:

{{ message | capitalize }}

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

2.分为两种定义方式:

(1)全局定义

Vue.filter(‘capitalize‘, function (value) {

if (!value) return ‘‘

value = value.toString()

return value.charAt(0).toUpperCase() + value.slice(1)

})

new Vue({

// ...

})

例2:过滤性别。0返回男,1返回女

<div>{{source|gender}}</div>

Vue.filter(‘gender‘, function (value) { //value是要准备过滤的原值

return value === 0 ? ‘男‘ : ‘女‘

})

const vm = new Vue({

el:"#root",

data:{

source:0

}

})

(2)局部定义

filters: {

capitalize: function (value) {

if (!value) return ‘‘

value = value.toString()

return value.charAt(0).toUpperCase() + value.slice(1)

}

}

例2:

const vm = new Vue({

el:"#root",

data:{

source:0

},

filter:{

gender(value){

return value === 0 ? ‘男‘ : ‘女‘

}

}

})

<div>{{source|gender|surfix}}</div>

例3:连续过滤    过滤完性别之后,再在结果上加“人”

const vm = new Vue({

el:"#root",

data:{

source:0

},

filter:{

gender(value){

return value === 0 ? ‘男‘ : ‘女‘

},

surfix (value) {

return value + ‘人‘

},

}

})

<div>{{source|gender}}</div>

例4:购物车里价格返回两位小数

const vm = new Vue({

el:"#root",

data:{

source:0,

price:123.4567

},

fixed (value) {

return value.toFixed(2)          //toFixed把 Number 四舍五入为指定小数位数的数字。

}

},

})

<div>{{price|fixed}}</div>       //123.45

例5:传参

const vm = new Vue({

el:"#root",

data:{

source:0,

price:123.4567

},

fixed (value,segment) {

return value.toFixed(segment)          //toFixed把 Number 四舍五入为指定小数位数的数字。

}

},

})

<div>{{price|fixed(segment)}}</div>       //123.45

3.可以对一个值进行连续过滤

{{ message | filterA(‘arg1‘, arg2) }}

4.可以传多个参数

{{ message | filterA(‘arg1‘, arg2) }}

这里 message 的值作为第一个参数,普通字符串 ‘arg1‘ 作为第二个参数,表达式 arg2 的值作为第三个参数。

*计算属性完全可以取代过滤器,但有时使用过滤器比较方便。

原文地址:https://www.cnblogs.com/kaiqinzhang/p/9962500.html

时间: 2024-08-30 18:30:52

vue的过滤器语发及应用案例的相关文章

Vue自定义过滤器

gitHub地址: https://github.com/lily1010/vue_learn/tree/master/lesson05 一 自定义过滤器(注册在Vue全局) 注意事项: (1)全局方法 Vue.filter() 注册一个自定义过滤器,必须放在Vue实例化前面 (2) 过滤器函数始终以表达式的值作为第一个参数.带引号的参数视为字符串,而不带引号的参数按表达式计算 (3)可以设置两个过滤器参数,前提是这两个过滤器处理的不冲突 (4)用户从input输入的数据在回传到model之前也

VUE:过滤器及日期格式化moment库

VUE:过滤器及日期格式化moment库 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>11_过滤器</title> </head> <body> <!-- 1)定义过滤器 Vue.filter(filterName,function(value[arg1,arg2,...])){ //进行一定的数组处理 ret

Vue的过滤器,生命周期的钩子函数和使用Vue-router

一.过滤器 1.局部过滤器 在当前组件内部使用过滤器 给某些数据 添油加醋 //声明 filters:{ '过滤器的名字':function(val,a,b){ //a 就是alax ,val就是当前的数据 } } //使用 管道符 数据 | 过滤器的名字('alex','wusir') <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8">

vue.js 过滤器

vue的过滤器可以用来对数据进行格式化 1.过滤器注册 过滤器注册分为全局注册和局部注册 (1)全局注册:所有的组件中都能使用 语法:Vue.filter(过滤器名称,回调函数) 回调函数的参数就是需要过滤处理的数据 //入口文件 main.js import Vue from 'vue' import App from './App' import router from './router' Vue.filter('toUpperCase',function(val){ return val

vue(2) -- 过滤器

1.vue 提供的过滤器 debounce  配合事件,延迟执行 <div id="box"> <input type="text" @keyup="show | debounce 200"> </div> <script> new Vue({ el:"#box", data:{ }, methods:{ show:function (){ alert(1); } } }) &l

vue 自定义过滤器

vue允许自定义过滤器,被用作一些常见文本的格式化.由"管道符"指示,格式如下: <!-- 在两个大括号中 --> {{message | capitalize}} <!-- 在 v-bind指令中 --> <div v-bind:id="rawId | formatId"></div> 实例如下: <div id="app"> {{ time | formatTime}} </d

vue自定义过滤器的创建和使用

过滤器:生活中有很多例子,净水器 空气净化器 .过滤器的作用:实现数据的筛选.过滤.格式化. vue1.*版本是有内置的过滤器,但是在vue2.*所有的版本都已经没有自带的过滤器了. 1.过滤器创建 过滤器的本质 是一个有参数 有返回值的方法 new Vue({ filters:{ myCurrency:function(myInput){ return 处理后的数据 } } }) 2.过滤器使用语法: <any>{{表达式 | 过滤器}}</any>举个例子: <h1>

Vue.filter 过滤器

[过滤器] import Vue from '../../../node_modules/vue/dist/vue'; // 后台数据与前端展示数据需要换算,与后台交互的请求的参数是不需要.假如说前端展示价格是按照元来算,而后台提供的数据是按分来算,在提交给后台,还是按照分来算. // 全局过滤器 Vue.filter('YuanToFen', function (value) { if (!Number(value)) return 0; value = Number(value); retu

vue的过滤器filter

前记: 排版记录,点耽误时间,我就简单的来,下面是一个vue 过滤器的写法,demo 演示,限制一个字符串的长度. vue filter 的官网介绍 https://cn.vuejs.org/v2/guide/filters.html 下面就具体拿自己的一个例子介绍: 某个filter.js // 限制汉字的个数 export const limitWordLength = Vue.filter('limitWordLength', (str, length, sufix) => { /* es