過濾器vue.filters的使用方法實(shí)現(xiàn)
寫項(xiàng)目的時(shí)候,有一些方法我們是需要全局使用的,比如數(shù)字的四色五入保留小數(shù)點(diǎn)啊、一些工具方法、字符的格式化啊等等。這些很多頁面需要用的、使用頻率極高的方法,我們一般會(huì)將其封裝為全局的方法;我以前是這樣做的,有這么幾種方式:
1、掛載到vue.prototype
在main.js入口文件中掛載到vue.prototype,如我們封裝一個(gè)獲取時(shí)間戳的函數(shù)。
Vue.prototype.now = Date.now || function () { return new Date().getTime(); };
然后就可以在.vue頁面中使用了
<script> export default { mounted(){ console.log('now:' + this.now()); }, } </script>
2、全局混入mixins
同樣也還是在main.js中。
mixins的全局注入規(guī)則大家應(yīng)該都懂,如果組件中沒有這個(gè)getTime方法,那么就會(huì)在頁面中注入這個(gè)方法。
Vue.mixin({ data() {}, methods: { getTime() { return new Date().getTime(); } } }); new App({ el: '#app' // ... });
3、關(guān)于vue.filters
(1)問題
前面兩種方法弊端有很多,比如一般將全局變量掛載到prototype總是不太好的,狀態(tài)管理我們用vuex;第二個(gè)全局混入的話,子組件中也會(huì)混入這些方法等等;最大的弊端就是代碼的可讀性和維護(hù)問題,如果項(xiàng)目體積大了,復(fù)用的方法多了,總不能都掛到prototye上去對(duì)吧?
這個(gè)時(shí)候,vue.filters過濾器就能夠較好的解決這個(gè)問題。
(2)使用
先看一波官網(wǎng)-->傳送門
ok,看完了,基本了解了過濾器的概念和基本使用方式以后,我們具體到項(xiàng)目中的使用。
新建一個(gè)filters文件夾,丟一行代碼(很常用的一行代碼,就是對(duì)數(shù)字做一些四舍五入的處理)
數(shù)字四舍五入保留兩位小數(shù)點(diǎn)
main.js中引入
// global filters import Vue from 'vue'; import * as filters from '@/filters'; Object.keys(filters).forEach((key) => { Vue.filter(key, filters[key]); });
然后頁面中就可以使用了
<div>{{num | formatAmountFixed2}}</div> <script> data(){ return { num: 11111 } } </script>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vite處理html模板插件之vite-plugin-html插件使用
這篇文章主要給大家介紹了關(guān)于Vite處理html模板插件之vite-plugin-html插件使用的相關(guān)資料,Vite是一個(gè)現(xiàn)代化的前端構(gòu)建工具,而vite-plugin-html是Vite的一個(gè)插件,用于在構(gòu)建時(shí)自動(dòng)生成HTML文件,需要的朋友可以參考下2023-10-10VUE3+vite項(xiàng)目中動(dòng)態(tài)引入組件與異步組件的詳細(xì)實(shí)例
在做vue3項(xiàng)目中時(shí),每次使用都需要先進(jìn)行引入,下面這篇文章主要給大家介紹了關(guān)于VUE3+vite項(xiàng)目中動(dòng)態(tài)引入組件與異步組件的相關(guān)資料,需要的朋友可以參考下2022-09-09解決vue項(xiàng)目,npm run build后,報(bào)路徑錯(cuò)的問題
這篇文章主要介紹了解決vue項(xiàng)目,npm run build后,報(bào)路徑錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08基于el-tree實(shí)現(xiàn)懶加載穿梭條的示例代碼
這篇文章主要介紹了基于el-tree實(shí)現(xiàn)懶加載穿梭條的示例代碼,本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-03-03Vue3實(shí)現(xiàn)轉(zhuǎn)盤抽獎(jiǎng)效果的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何通過Vue3實(shí)現(xiàn)簡(jiǎn)單的轉(zhuǎn)盤抽獎(jiǎng)效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的可以了解一下2023-10-10Vue3+echarts5踩坑以及resize方法報(bào)錯(cuò)的解決
這篇文章主要介紹了Vue3+echarts5踩坑以及resize方法報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07