• Vue(十三)---过滤器filter,filters


    官网:https://cn.vuejs.org/v2/api/#filters

       https://cn.vuejs.org/v2/api/#Vue-filter

    分为全局过滤器和局部过滤器

    局部:

      main.js

    new Vue({
        el:'#app',
        data:{
            price:10,
            length:2,
            data:''
        },
        methods:{
            
        },
        components:{
            
        },
        filters:{
            capitalize:function(value){
                
                if(!value){
                    return ''
                }
                value=value.toString()
                return    value.charAt(0).toUpperCase()+value.substring(1)
            },
            capitalizeLater:function(value){
                if(!value){
                    return ''
                }
                value=value.toString()
                return    value.charAt(0)+value.charAt(1).toUpperCase()+value.substring(2)
            }
        }
    })

    index.html

    <div id="app">
                
                <input v-model="data"/>{{ data | capitalize | capitalizeLater}}
                
            </div>
                <script src="js/vue.js"></script>
                <script src="js/main.js"></script>
    </div>

    第一个过滤器 capitalize 第二个过滤器 capitalizeLater,第一个字母和第二个字母都被转为大写

    全局:

      index.html

    过滤器传递参数

    <div id="app">
                <input v-model="price">{{price | currencyFilter()}}<br />
                <input v-model="price">{{price | currencyFilter('元')}}
            
                <hr />
                <input v-model="length"/>{{length | meter()}}<br />
                <input v-model="length"/>{{length | meter('m')}}
                <hr />
                
                
                <input v-model="data"/>{{ data | capitalize | capitalizeLater}}
                
    </div>

    <script src="js/vue.js"></script>
    <script src="js/main.js"></script>

     

    main.js

    Vue.filter('currencyFilter',function(val,unit){
        val =val || 0; 
    //存在则使用unit,否则使用'USD' unit=unit || 'USD'; return val+unit; }) Vue.filter('meter',function(val,unit){ val =val || 0; if('m'==unit){ return (parseFloat(val)).toFixed(2)+unit; }else{ return (val*1000).toFixed(2)+'mm'; } }) new Vue({ el:'#app', data:{ price:10, length:2, data:'' }, methods:{ }, components:{ }, filters:{ capitalize:function(value){ if(!value){ return '' } value=value.toString() return value.charAt(0).toUpperCase()+value.substring(1) }, capitalizeLater:function(value){ if(!value){ return '' } value=value.toString() return value.charAt(0)+value.charAt(1).toUpperCase()+value.substring(2) } } })

    作者:crazyLL
    纯粹自己记录着玩的,来源于自己的想法或者互联网文章,侵删
  • 相关阅读:
    跟vczh看实例学编译原理——二:实现Tinymoe的词法分析
    跟vczh看实例学编译原理——一:Tinymoe的设计哲学
    跟vczh看实例学编译原理——零:序言
    2013年终总结
    如何设计一门语言(十二)——设计可扩展的类型
    开始用Word 2013来写博客
    如何设计一门语言(十一)——删减语言的功能
    如何设计一门语言(十)——正则表达式与领域特定语言(DSL)
    链表
    结构的学习
  • 原文地址:https://www.cnblogs.com/crazy-lc/p/15087204.html
Copyright © 2020-2023  润新知