vue過濾器的運用

vue過濾器

過濾器本質不轉變原始數據,只是對數據舉行加工處置懲罰后返回過濾后的數據再舉行挪用處置懲罰,這點要牢記

過濾器的定義和運用

定義

全局定義和部分定義兩種體式格局

// 全局註冊
Vue.filter('toRMB', function (value) {
  return `¥${value}`
})

new Vue({
  el: '#app',
  data: {
    money: 826.26,
  },

  // 部分註冊
  filters: {
    toFixed: function(money) {
      return money.toFixed(1)
    },
  },
)}

運用

在雙花括號中運用管道符(pipeline) |離隔,或許v-bind 表達式(v2.1.0以上支撐)

<h2>過濾器的運用-增加前綴</h2>
<p>{{352.11 | toRMB}}</p>
<p>{{657 | toRMB}}</p>
<p>{{657.22 | toFixed }}</p>
<p>{{money | toFixed }}</p>

還能夠鏈式運用,注重前後的遞次,以下面的先增加¥標記再舉行小數位變更將會失足,因而要注重前後遞次

<p>{{ money | toFixed | toRMB }}</p>

過濾器函數的多層參數

過濾器函數是指吸收的參數不止value這一個,還能夠增加lengthsuffix參數

<h2>多重參數</h2>
<p>{{text}}</p>
<p>{{text | readMore(20,'...')}}</p>
new Vue({
  el: '#app',
  data: {
    text: 'hello I love u, will u love me ?',
  },
  filters: {
    readMore: function (value,length,suffix) {
      console.log(arguments);
      return value.substr(0,length) + suffix;
    },
  }
})

完全DEMO請戳

其他一些例子

收集了一些罕見的運用場景,多加聯絡

  1. 把JS值轉換為JSON字符串
  2. 從數組對象中提取屬性
  3. 依據索引返回元素
  4. 返回給定行列的最小值
  5. 打亂元素
  6. 返回數組的首項值
  7. 返回數組的尾項值
  8. 返回數組的拷貝
  9. 移除數組中的反覆項
  10. 將一段筆墨放到字符背面
  11. 反覆字符片斷n次

參考

    原文作者:窗里窗外
    原文地址: https://segmentfault.com/a/1190000014528014
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞