国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue項目引發的「過濾器」使用教程

2019-11-19 12:00:26
字體:
來源:轉載
供稿:網友

前言

最近在項目的開發中,出現一些格式化數據的情況,比如字母的大小寫,比如一些價格的數據格式。等等一些格式的顯示。

Name Price
BTC $3896.23
ETH $136.64

在上面的表格中,我們需要處理數據的顯示。這是我們時常遇到的情況。

通常我們會直接處理數據的輸出,可以這么做。

computed: { result() { return this.prices.map(price => "$" + price); }}

這些都是通過修改數據做到的。

不過,Vue 中給我們提供了一種格式化數據功能「過濾器」。

filters 與 計算屬性(computed),方法(methods)不同的是,filters 不會修改數據,只是改變用戶看到的輸出。Vue 從 2.0 版本之后去除了內置的「過濾器」。所以我們在使用時需要自己去定義。

接下來,我們就來看看看在 Vue 中如何使用「過濾器」。

首先過濾器可以用在兩個地方:差值表達式 {{ }} 和 v-bind 表達式,然后由管道操作符“ | ”進行指示。

知道在什么地方時候,那我們就再來看看如何定義過濾器。我們有兩種方式定義。

本地過濾器

我們可以把過濾器定義在當前使用的組件內。我們利用過濾器來修改上面的表格輸出格式。

{{price.price | currency}}filters: { currency(value) {  return "$" + value; }}

全局過濾器

這里需要注意的是,使用全局過濾器時,必須要在 Vue 的實例之前。

Vue.filter("currency", function (value) { return "$" + value;});new Vue({ //...})

此時,我們就可以愉快的在組件中使用過濾器了。

用戶體驗是非常重要的一個環節,我們可以利用過濾器去優化。通常利用表格展示數據時,你無法保證每個字段的屬性值都是存在且合理的。

這時就可以利用「過濾器」。把不合理的值顯示為 “--”,這是最為常見的手段。

filters: { filterPrice(value) {  return value ? value : "--"; }}

過濾器參數

過濾器會把表達式中的值始終當作函數的第一個參數。由于過濾器是一個函數,所以我們也可以額外的傳入參數。

{{ data | filterPrice(arg1, arg2) }}

比如我們把上面的案例修改一下,我們不僅僅需要把美元格式化,我們還需要格式化人民幣等等,很多種的符號,這時就可以利用傳參的方式。

{{price.price | filterPrice('$')}}filters: { filterPrice(price, prefix) {  return prefix + price; }}

除此之外,「過濾器」還可以進行串聯使用。

{{ data | filterA | filterB }}

串聯使用時,會把第一個產生的結果,作為參數傳遞給第二個過濾器使用,以此類推。

好了今天我們 Vue 的過濾器就說到這,大家不妨多多嘗試下在項目中使用,提高我們的開發效率,不能總是想著去修改數據,這些功能與套路有時會發揮很好的價值。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东乡县| 驻马店市| 侯马市| 苏尼特左旗| 海阳市| 夏邑县| 昌邑市| 嵊泗县| 常熟市| 清水河县| 朝阳县| 彩票| 合川市| 齐齐哈尔市| 南皮县| 新郑市| 都江堰市| 五莲县| 清涧县| 雅安市| 宁河县| 北票市| 永仁县| 温州市| 岫岩| 安陆市| 大庆市| 大名县| 建阳市| 青川县| 图片| 阿鲁科尔沁旗| 仁布县| 陇西县| 克山县| 通辽市| 泽库县| 泗洪县| 察雅县| 石泉县| 鸡东县|