• Vuefilter() 过滤器


    vue 过滤器

    vue.filter() 全局过滤器

      语法
        Vue.filter(过滤器名称,callback);
          callback的参数:
          参数1: 要过滤的数据
          参数2、3、4...... : 传递的参数

      

      应用:
        一:callback没有传递其他参数的时候
        eg:
          Vue.filter(reverseVal,(msg) => {
            return msg.split('').reverse().join('')
          })

          应用: {{ msg | reverseVal }} 管道符

        二:callback没有传递其他参数的时候
        eg:
          Vue.filter(addCode,(msg,code1,code2) => {
            return '' + msg + code1 + code2;
          })

          应用: {{ msg | addCode }} 管道符

      全局注册过滤器(封装成插件)

    //创建一个filter.js
    import Vue from 'vue';
    const globalFilters = {
        addHollow : (...arg) => {
            var  argLength = arg.length;
            if(argLength == 1){
                 return arg[0] + 'hollow';
            }else{
                let res = '';
                arg.forEach((val,index) => { 
                    res += val;
                })
                return res;
            }
        },
        reverseVal : (val) => {
            return val.split('').reverse().join('');
        }
    }
    export default {
        install(Vue){
            Object.keys(globalFilters).forEach((key) => {
                Vue.filter(key,globalFilters[key]);
            })
        }
    }
    
    //在main.js中
    import myFilter from './plugins/filter/filter.js';
    Vue.use(myFilter);
    
    
    //组件内部应用:
     {{msg | addHollow}}                     管道符
     {{val | reverseVal}}                    管道符

    filters 局部过滤器

      语法
        

        filters : {
          reverseVal(msg){
            return '' + msg.split('').reverse().join('');
          },
          addCode(msg){
            return msg + '添加的内容';
          }
        }

      局部过滤器应用

    <template>
        <div id="app">
            <img :src="imgSrc | changeSrc" alt="">
        </div>
    </template>
    
    <script>
    export default {
        name:'app',
        data(){
            return {
                imgSrc : 'http://p0.meituan.net/w.h/movie/d09014103dd467babc1f6ecaf607a9511579477.jpg'
            }
        },
        filters : {
            changeSrc(src,wh){
                return src.replace(/w.h/,'170.300');
            }
        }
    }
    </script>
  • 相关阅读:
    EF 学习代码
    VS10 调试 新功能
    高级编程 实验代码
    事务 代码
    ADO.NET的新功能:MARS(Multiple Active Result Set) 及 异步执行命令
    Log4Net
    获得CheckBoxList最后一个被操作的项
    在存储过程中用事务
    ASP.NET服务端添加客户端事件
    GridView遍历各行的控件和控件事件
  • 原文地址:https://www.cnblogs.com/bruce-w/p/13677270.html
Copyright © 2020-2023  润新知