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

  

过滤器:生活中有很多例子,净水器 空气净化器 。
过滤器的作用:实现数据的筛选、过滤、格式化。

vue1.*版本是有内置的过滤器,但是在vue2.*所有的版本都已经没有自带的过滤器了。

1、过滤器创建
  过滤器的本质 是一个有参数 有返回值的方法
  new Vue({
    filters:{
      myCurrency:function(myInput){
        return 处理后的数据
      }
    }
  })

2、过滤器使用
语法:
  <any>{{表达式 | 过滤器}}</any>
举个例子:
  <h1>{{price | myCurrency}}</h1>

3、过滤器高级用法

在使用过滤器的时候,还可以指定参数,来告诉过滤器按照参数进行数据的过滤。

①如何给过滤器传参?
<h1>{{price | myCurrency(‘¥‘,true)}}</h1>
②如何在过滤器中接收到?
new Vue({
  filters:{
    //myInput是通过管道传来的数据
    //arg1在调用过滤器时在圆括号中第一个参数
    //arg2在调用过滤器时在圆括号中第二个参数
    myCurrency:function(myInput,arg1,arg2){
      return 处理后的数据
    }

  }

})

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <script src="js/vue.js"></script>
    <title></title>
</head>
<body>

<div id="container">
    <p>{{msg}}</p>
    <h1>{{price}}</h1>
    <h1>{{price | myCurrency(‘¥‘)}}</h1>
</div>

<script>
    // filter
    new Vue({
        el: ‘#container‘,
        data: {
            msg: ‘Hello Vue‘,
            price:356
        },
        //过滤器的本质 就是一个有参数有返回值的方法
        filters:{
            myCurrency:function(myInput,arg1){
                console.log(arg1);
                //根据业务需要,对传来的数据进行处理
                // 并返回处理后的结果
                var result = arg1+myInput;
                return result;
            }
        }
    })
</script>

</body>
</html>
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <script src="js/vue.js"></script>
    <title></title>
</head>
<body>

<div id="container">
    <p>{{msg}}</p>
    <h1>{{name | myTextTransform(false)}}</h1>
</div>

<script>
    new Vue({
        el: ‘#container‘,
        data: {
            msg: ‘Hello Vue‘,
            name:‘Michael‘
        },
        filters:{
            myTextTransform: function (myInput,isUpper) {
                if(isUpper)
                {
                    return myInput.toUpperCase();
                }
                else{
                    return myInput.toLowerCase();
                }
            }
        }
    })
</script>

</body>
</html>
时间: 2024-07-31 06:51:31

vue自定义过滤器的创建和使用的相关文章

Vue自定义过滤器

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

vue 自定义过滤器

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

vue自定义指令的创建和使用

一.自定义指令的创建和使用 Vue自带的指令很多,v-for/v-if/v-else/v-else-if/v-model/v-bind/v-on/v-show/v-html/v-text...但是这些指令都是比较偏向于工具化,有些时候在实现具体的业务逻辑的时候,发现不够用,如何来自定义指令. 1.自定义指令①创建 new Vue({ directives:{ change:{ bind:function(){}, update:function(){}, unbind:function(){}

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

过滤器的本质就是一个方法,参数就是输入的值以及给过滤器指定的参数,返回值就是处理后要显示的值. ①过滤器创建var app = angular.module();app.filter('名称',func)//创建过滤器在filter的第二参数,是一个方法,返回的是过滤器方法(有返回值)app.filter('customFilter', function () { return function (value,arg1) { console.log(value,arg1); return '$'

Vue自定义过滤器格式化数字三位加一逗号

<template> <div class="index-compont"> <div class="totalCount">{{num | NumFormat}}<span>元</span></div> </div> </template> <script> data(){ return { num: 876543.00 } }, filters: { Nu

django之创建第6-1个项目-自定义过滤器

1.在站点blog目录下创建templatetags文件夹 2.templatetags目录下需要作为一个包来处理和调用其中的内容,需要有一个__init__.py文件 3.在templatetags目录下创建percent.py文件(里面定义过滤器) 4.编写percent.py文件,定义过滤器 # -*- coding: UTF-8 -*- #自定义过滤器,注意这里编码一定不要掉了,不然会报错啊~~~~ from django import template register = templ

Vue.js学习 Item14 – 过滤器与自定义过滤器

基础 类似于自定义指令,可以用全局方法 Vue.filter() 注册一个自定义过滤器,它接收两个参数:过滤器 ID 和过滤器函数.过滤器函数以值为参数,返回转换后的值: Vue.filter('reverse', function (value) { return value.split('').reverse().join('') }) <!-- 'abc' => 'cba' --> <span v-text="message | reverse">&

Vue.js 自定义过滤器

过滤器,本质上就是一个函数.其作用在于用户输入数据后,它能够进行处理,并返回一个数据结果. Vue.js 与 AngularJS 中的过滤器语法有些相似,使用管道符(|)进行连接,代码示例如下: {{'abc' | uppercase}}    'abc' => 'ABC' 这里使用了Vue.js 内置的过滤器 uppercase,将字符串中的字母全部转换成大写形式. Vue.js 支持在任何出现表达式的地方添加过滤器,除了上面例子中的 双大括号 表达式之外,还可以在绑定指令的表达式后调用,代码

vue学习(二):自定义过滤器和自定义指令

#自定义指令 自定义指令的参数有: el: 指令所绑定的元素,可以用来直接操作 DOM . binding: 一个对象,包含以下属性: name: 指令名,不包括 v- 前缀. value: 指令的绑定值, 例如: v-my-directive="1 + 1", value 的值是 2. oldValue: 指令绑定的前一个值,仅在 update 和 componentUpdated 钩子中可用.无论值是否改变都可用. expression: 绑定值的字符串形式. 例如 v-my-di