VUE过滤器 基础回顾5

过滤器是一种在模板中处理数据的便捷方式,特别适合对字符串和数组进行简易显示

    <div id="app">
      <p>商品1花费{{oneCost | fromatCost}}</p>
      <p>商品2花费{{towCost | fromatCost}}</p>
      <p>商品3花费{{treCost | fromatCost}}</p>
    </div>
    <script>
      new Vue({
        el:'#app',
        data:{
          oneCost:998,
          towCost:9981,
          treCost:9982,
        },
        filters:{
          fromatCost(vlue){
            return "" + (vlue/100).toFixed(2);
          }
        }
      })
    </script>

  上述代码简化了代码,重复度也很少,更加易读,可维护性也更好,同时达到了从分到元,保留两位小数,同时新增¥。

  还可以进行链式操作。如果有一个round过滤器,可以四舍五入  {{treCost |  round | fromatCost }} 使用此种方式可以同时使用两个过滤器,首先会调用round过滤器,然后将值传入fromatConst 进行处理,然后输出到页面

  除了在插值中使用,还可以在v-bind中使用过滤器   v-bind:value = "oneCost | fromatCost"  

  也可以在使用Vue.filter() 来注册一个全局的过滤器,让整个应用都可以用到。可以将过滤器放到单独的filters.js文件中

  
  注意事项:

    1.过滤器是组件中唯一不能使用this来访问数据或方法的地方。因为过滤器应该是纯函数,同样的输入,每次都返回同样的输出,而不涉及任何外部数据。想要访问外部数据因该将其作为参数传入;

    2.只可以在插值和v-bind指令中使用过滤器,在vue1中可以在任何地方使用表达式的地方使用,在vue2中取消了这样的做法

 

posted @ 2019-11-21 22:59  四海潮生  阅读(195)  评论(0编辑  收藏  举报