vue-過濾器filter

vue-過濾器filter

vue的過濾器一般在JavaScript 表達式的尾部,由“|”符號指示:
過濾器可以讓我們的代碼更加優美,一般可以用在時間格式化,首字母大寫等等。

例如:{{ date | dateFormat }}這是過濾器的寫法;{{ dateFormat(date) }}這是函數調用的寫法
可以看出過濾器的寫法更加語義化,讓人一眼可以看出它的含義。

<!-- 在雙花括號中 -->
{{ message | capitalize }}

<!-- 在 `v-bind` 中 -->
<div v-bind:id="rawId | formatId"></div>

<!-- 也可以串聯多個過濾器 -->
{{ message | filterA | filterB }}
// 在這個例子中,filterA 被定義爲接收單個參數的過濾器函數,表達式 message 的值將作爲參數傳入到函數中。然後繼續調用同樣被定義爲接收單個參數的過濾器函數 filterB,將 filterA 的結果傳遞到 filterB 中

<!-- 過濾器接收參數 -->
{{ message | capitalize('string', obj) }}
// 這裏的參數將在過濾器函數內以第二個參數開始算起第一個參數爲要過濾的值message,即'string'爲第二個參數,obj爲第三個參數。

過濾器方法在接收到參數後,你可以在方法內進行一系列的處理,最終return出處理結果即可。

1、過濾器可以是組件內的

filters: {
  capitalize: function (value) {
    if (!value) return ''
    value = value.toString()
    return value.charAt(0).toUpperCase() + value.slice(1)
  }
}

2、過濾器也可以是掛載在全局Vue裏

Vue.filter('capitalize', function (value) {
  if (!value) return ''
  value = value.toString()
  return value.charAt(0).toUpperCase() + value.slice(1)
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章