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 的值作为第三个参数。
 
*计算属性完全可以取代过滤器,但有时使用过滤器比较方便。
 
 
 
 
 
 
 

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

  1. Vue自定义过滤器

    gitHub地址: https://github.com/lily1010/vue_learn/tree/master/lesson05 一 自定义过滤器(注册在Vue全局) 注意事项: (1)全局方 ...

  2. vue filter过滤器简单应用

    vue中过滤器,用于一些常见的文本格式化,用 | 来操作. 过滤器可以用在两个地方: 1.在{{}}双花括号中插入值 2.v-bind表达式中使用 <!-- 在双花括号中 --> {{ m ...

  3. vue filters过滤器

    vue filters过滤器 vue.js允许我们自定义过滤器,可被使用于一些常见的文本格式化,过滤器可以用在两个地方,双花括号插值和 v-bind表达式.最常见的就是双花括号插值. 比如如下代码:{ ...

  4. vue的过滤器

    Vue.Js 提供了强大的过滤器API,能够对数据进行各种过滤处理,返回需要的结果 vue的过滤器一般在JavaScript 表达式的尾部,由“|”符号指示: 过滤器可以让我们的代码更加优美,一般可以 ...

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

    1.简单介绍   过滤器的作用:实现数据的筛选.过滤.格式化.   过滤器的本质是一个有参数,有返回值的方法.   过滤器可以用在两个地方:双花括号插值和v-bind表达式(后者从2.1.0+开始支持 ...

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

    VUE:过滤器及日期格式化moment库 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...

  7. VUE笔记 - 过滤器 Vue.filter 形参默认值 @keyup.f2 自定义按键修饰符

    过滤器函数的传参: 第一个参数 A 是固定的,表示要过滤之前的内容. 第二个参数 B,表示要把原本的内容 A 过滤成 B. 写函数内容时, 这里第二处只写个参数. 实际的值要写到管道符调用函数的括号内 ...

  8. 六、vue基础--过滤器定义

    七.过滤器定义 1.使用:{{username|strip}}.<a :href="url|strip">百度</a> 2.定义:都是定义一个函数,这个函数 ...

  9. vue 时间过滤器

    过滤器:定义:对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理).语法:1.注册过滤器: Vue.filter(name ,callback)或new Vue{filters:{}}2. ...

随机推荐

  1. JSJ——java基本概念一

    Java曾以什么优点吸引你走上程序员这条不归路? 友好的语法.面向对象.内存管理和最棒的跨平台可移植性.write-once/run-anywhere 当然,只有我们真正投身入java才发现有bug要 ...

  2. RabbitMQ 基本概念总结

    1.ack模式-应答模式 执行一个任务可能需要花费几秒钟,你可能会担心如果一个消费者在执行任务过程中挂掉了.一旦RabbitMQ将消息分发给了消费者,就会从内存中删除.在这种情况下,如果正在执行任务的 ...

  3. CSS层叠样式表(Cascading Style sheets)

    CSS层叠样式表(Cascading Style sheets) --------- ---------------- ----------- --------------- ----------- ...

  4. 【mysql】2003-Can't connect to MySQL server (10060)

    使用navicat或者其他数据库管理工具连接mysql时出现2003-Can’t connect to MySQL server (10060)错误 可能造成出现的原因: 1.网络不通畅 2.mysq ...

  5. for、for / in循环

    1.for循环 循环代码块一定的次数 <!DOCTYPE html> <html lang="en" dir="ltr"> <he ...

  6. HDU 4764 Stone(巴什博奕)

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...

  7. POJ 2407Relatives

    Relatives Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15566   Accepted: 7900 Descri ...

  8. 开发Spring过程中几个常见异常(三):java.lang.ClassCastException: com.sun.proxy.$Proxy4 cannot be cast to com.edu.aop.ArithmeticCalculatorImpl at com.edu.aop.Main.main(Main.java:11)

    这个异常是在开发Spring案例时遇到的. 贴一下完整异常信息: Exception in thread "main" java.lang.ClassCastException: ...

  9. Android为TV端助力 清除本应用里的各种数据的方法

    public class DataCleanManager { /** * * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * * * * @param conte ...

  10. Jmeter和Loadrunner的异同

    1.jmeter的架构跟loadrunner原理一样,都是通过中间代理,监控&收集并发客户端发现的指令,把他们生成脚本,再发送到应用服务器,再监控服务器反馈的结果的一个过程. 2.分布式中间代 ...