<p><label>分数:</label><span>{{articleLevel.score | isNull}}</span></p>
<p><label>字频:</label><span>{{articleLevel.score_zi | isNull}}</span></p>
        filters: {
            isNull(val) {
                if (val) {
                    return Math.floor(val);
                } else {
                    return "0";
                }
            }
        },

一 Vue中Filter声明方式

Vue中存在两种声明Filter过滤器的方式:

  1.全局过滤器

 Vue.filter('testFilter1',function(val){
     console.log("全局过滤器",val);
 })
 这种方式将过滤器声明到了Vue类型上,所有Vue对象即可访问这个过滤器

  2.本地过滤器

new Vue({
      filters:{
          testFilter2(val){
              console.log("本地过滤器",val);
          }
      }
 })
 

这种方式将过滤器声明到这个Vue对象中,所以只能这个Vue对象进行访问

二 Vue中在Methods中访问Filter

 Vue中在Methods中访问Filter有两种方式,分别对应两种Filter的声明方式

 1.访问全局过滤器

 <div id="body">
       <button @click='getGlobal()'>调用全局过滤器</button>
    </div>
    <script >
        Vue.filter('testFilter1',function(val){
          console.log("全局过滤器",val);
        })
      new Vue({
            el:'#body',
          
            methods:{
                getGlobal(){
                    //使用Vue.Filter()方式获取全局过滤器
                    var te = Vue.filter('testFilter1');
                    //调用全局过滤器
                    te('filter');
                }
            }
        })
    </script>
 

2.访问本地过滤器

 <div id="body">
       <button @click='getLocal()'>调用本地过滤器</button>
    </div>
    <script >
      new Vue({
            el:'#body',
            filters:{
                testFilter2(val){
                    console.log('本地过滤器',val);
                }
            },
            methods:{
                getLocal(){
                    //使用this.$options.filters[]方式获取本地过滤器
                    var te = this.$options.filters['testFilter2'];
                    //调用本地过滤器
                    te('filter');
                }
            }
        })
    </script>
 

 

 

 

 

Logo

前往低代码交流专区

更多推荐