關(guān)于Vue中過濾器的必懂小知識
前言
大家好,今天來分享下Vue中的過濾器小知識
什么是過濾器
Vue.js 允許你自定義過濾器,可被用于一些常見的文本格式化。過濾器可以用在兩個地方:雙花括號插值和 v-bind 表達式 (后者從 2.1.0+ 開始支持)。
如何使用過濾器
全局過濾器
- 本案例是過濾價格中的¥和元
- 示例 ¥1999.00元
- 定義一個capitalize方法,傳入value值
- 如果value為空返回空字符串
- 否則就疊加字符串"¥" "元" ,這里的toFixed(2)四舍五入為指定小數(shù)位數(shù)
使用方法
//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>
局部過濾器
這里注意下 當(dāng)全局過濾器和局部過濾器重名時,會采用局部過濾器。
局部過濾器可以在一個組件的選項中定義本地的過濾器:
export default { name: 'index', data() { return { price: 1999 } }, filters: { capitalize: function (value) { if (!value) return '' return '¥' + value.toFixed(2) + '元' } } }
過濾器可以串聯(lián)
在這個例子中,filterA 被定義為接收單個參數(shù)的過濾器函數(shù),表達式 message 的值將作為參數(shù)傳入到函數(shù)中。然后繼續(xù)調(diào)用同樣被定義為接收單個參數(shù)的過濾器函數(shù) filterB,將 filterA 的結(jié)果傳遞到 filterB 中。
{{ message | filterA | filterB }}
注意:
1、 當(dāng)有局部和全局兩個名稱相同的過濾器時候,會以就近原則進行調(diào)用,即:局部過濾器優(yōu)先于全局過濾器被調(diào)用!
2、 一個表達式可以使用多個過濾器。過濾器之間需要用管道符“|”隔開。其執(zhí)行順序從左往右
總結(jié)
到此這篇關(guān)于Vue中過濾器必懂小知識的文章就介紹到這了,更多相關(guān)Vue過濾器小知識內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue2項目使用element-ui的el-tabs組件導(dǎo)致瀏覽器崩潰卡死問題
這篇文章主要介紹了vue2項目使用element-ui的el-tabs組件導(dǎo)致瀏覽器崩潰卡死問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07vue3+vite中使用import.meta.glob的操作代碼
在vue2的時候,我們一般引入多個js或者其他文件,一般使用? require.context 來引入多個不同的文件,但是vite中是不支持 require的,他推出了一個功能用import.meta.glob來引入多個,單個的文件,下面通過本文介紹vue3+vite中使用import.meta.glob,需要的朋友可以參考下2022-11-11vue3使用vue-cli引入windicss報錯Can‘t resolve windi.css問題
這篇文章主要介紹了vue3使用vue-cli引入windicss報錯Can‘t resolve windi.css問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03