官网: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)
        }
    }
})

 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号