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

首頁 > 編程 > JavaScript > 正文

vue-cli 3 全局過濾器的實(shí)例代碼詳解

2019-11-19 11:24:55
字體:
供稿:網(wǎng)友

在vue1.x版本里是自帶里幾個基礎(chǔ)的過濾器的(雖然不怎么用到)。

到了vue2.x版本之后,內(nèi)置到幾個過濾器就被刪掉了,如果需要用到過濾器,就要開發(fā)者自己去定義。

可以把過濾器定義在某個組件內(nèi)部,但這樣就成了局部過濾器,在別的組件里是無法使用的。所以通常不會這么做。

也可以把過濾器寫在main.js里。但如果項(xiàng)目中存在多個過濾器,這會使main.js文件看上去很龐大,不便于后期維護(hù)。

所以通常會新建一個js文件,專門用來存放所有過濾器。最后再引到main.js中供全局使用。

1、創(chuàng)建 filters.js

首先新建一個filters.js文件。把這個文件放在 src/assets 里。

因?yàn)檫@里是用來存放靜態(tài)資源的。這個文件夾可以用來存放圖片、css和部分自定義的功能的js資源。如果需要更好的分類,可以在 assets 文件夾里再創(chuàng)建 js 、 css 、 img 等文件夾。

2、創(chuàng)建過濾器規(guī)則

這里我創(chuàng)建了3個過濾器

// 轉(zhuǎn)小寫let lower = value => value.toLowerCase();// 轉(zhuǎn)大寫let upper = value => value.toUpperCase();let currencyStyle = (value, style) => { // 貨幣格式  /**   * style:    *   currency:貨幣   *   number: 數(shù)字格式   */  if(style == 'number') { // 數(shù)字格式    return parseFloat(value.replace(/[^/d/.-]/g, ""));  } else { // 貨幣格式, 并保留2位小數(shù)    var n = 2;    value = parseFloat((value + "").replace(/[^/d/.-]/g, "")).toFixed(n) + "";    var l = value.split(".")[0].split("").reverse(),      r = value.split(".")[1];    var t = "";    for (var i = 0; i < l.length; i++) {      t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");    }    return t.split("").reverse().join("") + "." + r;  }}export {  lower,  upper,  currencyStyle}

3、在main.js里注冊全局過濾器

import Vue from 'vue'import App from './App.vue'import * as filters from './assets/filters'Object.keys(filters).forEach(key => { Vue.filter(key, filters[key])})Vue.config.productionTip = falsenew Vue({ render: h => h(App),}).$mount('#app')

通過 forEach 循環(huán),把自定義功能分別注冊到過濾器里。

4、在組件里使用

<template> <div id="app">  <p>{{ num1 | currencyStyle('currency') }}</p>  <p>{{ num2 | currencyStyle('number') }}</p>  <p>{{ msg1 | lower }}</p>  <p>{{ msg2 | upper }}</p> </div></template><script>export default { name: 'app', data() {  return {   num1: 123456,   num2: '123,456',   msg1: 'ABC',   msg2: 'def'  } }}</script>

總結(jié)

以上所述是小編給大家介紹的vue-cli 3 全局過濾器的實(shí)例代碼詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 博野县| 昌吉市| 晋中市| 永宁县| 师宗县| 沂南县| 扎赉特旗| 兴宁市| 泰安市| 当涂县| 金川县| 综艺| 新邵县| 北宁市| 双桥区| 滁州市| 昌吉市| 鹰潭市| 治多县| 西峡县| 林西县| 新郑市| 察雅县| 安国市| 武强县| 虹口区| 兰西县| 怀宁县| 盘锦市| 嘉荫县| 上饶县| 沂源县| 无锡市| 石河子市| 融水| 舟曲县| 莒南县| 会东县| 威宁| 正宁县| 抚州市|