Vue 过滤器和键盘修饰符

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

1.作用

在我们页面显示值之前加一层过滤,展示我们过滤后的值

2.使用语法

  1. {{变量 | 过滤器名}}
  2. {{变量 | 过滤器 | 另一个过滤器}} 可以同时使用多个过滤器,后面过滤器的data就是前面表达式传过来的值

3.定义过滤器

全局定义:

通过Vue提供的filter方法定义

Vue.filter(//参数1 过滤器名字, 参数2 函数(数据,格式(传递参数)))

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="./vue-2.4.0.js"></script>
</head>
<body>
  <div id="app">
    <div>{{msg}}</div>
    <div>{{msg | getS(1)}}</div>
    <div>{{msg | getS(1) | getS1(2)}}</div>
  </div>
</body>
<script>
  //全局过滤器 都可以使用
  //参数1 过滤器名字 参数2 函数(数据,格式(传递参数))
  Vue.filter('getS',function(data,format){
    console.log(data);
    console.log(format);
    return data.replace('好好','**')
  })
  //可以使用多个过滤器
  Vue.filter('getS1',function(data,format){
    console.log(data);
    console.log(format);
    return data.replace('今天','**')
  })
  var vm = new Vue({
    el:'#app',
    data:{
      msg:'今天的天气好好啊!'
    },
    mothods:{

    }
  })
</script>
</html>

私有定义:

filters这个是实例化Vue的一个参数,和data,methods平级的,里面放的就是我们这个实例的私有过滤器。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="./vue-2.4.0.js"></script>
</head>
<body>
  <!-- 私有过滤器 只能在局部使用 -->
  <div id="app">
    <div>{{num}}</div>
    <div>{{num | get1(3)}}</div>
  </div>
</body>
<script>
  var vm = new Vue({
    el:'#app',
    data:{
      num:4,
    },
    methods:{
    },
    /* 私有过滤器要在filter最后加s */
    filters:{
      get1(data,n){
        console.log(data);
        console.log(n);
        return data+n
      }
    }
  })
</script>
</html>

注意:

(1)私有定义优先于全局定义被调用

(2)当全局过滤器和局部过滤器重名时,会采用局部过滤器

(3)函数的一个参数都是data,也就是我们要过滤的值

(4)过滤器可以自定义一些参数

(5)过滤器函数的返回值就是最终显示的值

平时开发中,需要用到过滤器的地方有很多,比如单位转换、数字打点、文本格式化、时间格式化等,小伙伴们还是要了解一下的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟小宇要努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值