關於Vue中過濾器的必懂小知識
前言
大傢好,今天來分享下Vue中的過濾器小知識
什麼是過濾器
Vue.js 允許你自定義過濾器,可被用於一些常見的文本格式化。過濾器可以用在兩個地方:雙花括號插值和 v-bind 表達式 (後者從 2.1.0+ 開始支持)。
如何使用過濾器
全局過濾器
- 本案例是過濾價格中的¥和元
- 示例 ¥1999.00元
- 定義一個capitalize方法,傳入value值
- 如果value為空返回空字符串
- 否則就疊加字符串”¥” “元” ,這裡的toFixed(2)四舍五入為指定小數位數
使用方法
//main.js Vue.filter("capitalize", function (value) { if (!value) return ""; return "¥" + value.toFixed(2) + "元"; });
在雙花括號中使用
<!-- home.vue --> <h1>Vue過濾器</h1> <p>{{ price | capitalize }}</p> {{ 20.6664376486 | capitalize }}
在 v-bind 中使用
<h1>Vue過濾器</h1> <p :id="122 | capitalize"></p>
局部過濾器
這裡註意下 當全局過濾器和局部過濾器重名時,會采用局部過濾器。
局部過濾器可以在一個組件的選項中定義本地的過濾器:
export default { name: 'index', data() { return { price: 1999 } }, filters: { capitalize: function (value) { if (!value) return '' return '¥' + value.toFixed(2) + '元' } } }
過濾器可以串聯
在這個例子中,filterA 被定義為接收單個參數的過濾器函數,表達式 message 的值將作為參數傳入到函數中。然後繼續調用同樣被定義為接收單個參數的過濾器函數 filterB,將 filterA 的結果傳遞到 filterB 中。
{{ message | filterA | filterB }}
註意:
1、 當有局部和全局兩個名稱相同的過濾器時候,會以就近原則進行調用,即:局部過濾器優先於全局過濾器被調用!
2、 一個表達式可以使用多個過濾器。過濾器之間需要用管道符“|”隔開。其執行順序從左往右
總結
到此這篇關於Vue中過濾器必懂小知識的文章就介紹到這瞭,更多相關Vue過濾器小知識內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!