中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

怎么換個角度使用VUE過濾器

這篇文章將為大家詳細講解有關(guān)怎么換個角度使用VUE過濾器,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)石家莊,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

前言

過濾器在Vue中的主要用于文本格式化,如小寫轉(zhuǎn)大小,日期格式化等操作。官方對這個功能介紹也很簡單,不過確實很簡單,就一個函數(shù)而已。但最近在做兩款A(yù)PP時,遇到一些特殊的需求。然后就對vue中的filter一些用法結(jié)合源碼好好的梳理了下。下邊我們以一個日期格式化展開討論。

1. 定義一個日期格式化函數(shù)

都9012了,我們就采用 ES Module的寫法,在vue初始化的項目src的文件中新建一個filters文件夾,并在其中添加DateFmt.js文件,代碼如下

export function DateFmt(date, fmt) {
if (date == null) return null;
var o = {
  "M+": date.getMonth() + 1, // 月份
  "d+": date.getDate(), // 日
  "h+": date.getHours(), // 小時
  "m+": date.getMinutes(), // 分
  "s+": date.getSeconds(), // 秒
  "q+": Math.floor((date.getMonth() + 3) / 3), // 季度
  "S": date.getMilliseconds()
};
if (/(y+)/.test(fmt))
  fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
  if (new RegExp("(" + k + ")").test(fmt))
    fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}

2. 使用過濾器 DateFmt

定義好函數(shù)后,我們采用全局注冊filter的方式。在main.js中使用import { DateFmt } from '@/filters/DateFmt.js' 導(dǎo)入我們上邊定義的函數(shù)。 使用Vue.filter("DateFmt", DateFmt) 完成filter全局注冊。

在components文件夾中,添加我們的測試組件DateFormat.vue,在該文件template>div節(jié)點下輸入{{new Date()|DateFmt('yyyy-MM-dd hh:mm:ss')}} 然后在app.vue引入我們剛新添加的組件,運行,你就會在看到當前日期已經(jīng)按照我們需要的格式顯示在網(wǎng)頁上。是的,就是這么簡單,那完了么?

3. 在JS中使用 DateFmt

好奇的朋友會發(fā)現(xiàn),我們定義的filter都是在template中使用的,那我如何在js代碼中使用呢?當然,在開發(fā)這兩個app期間,減少數(shù)據(jù)轉(zhuǎn)換的次數(shù),有了這樣的需求。

3.1 在組件頁面導(dǎo)入函數(shù)

回到開頭,我們強調(diào)了一下,過濾器其實就是一個函數(shù)。既然是函數(shù),那引入就好了。所以在我們最初建立 DateFormat.vue 單文件組件的<script>塊中使用import { DateFmt } from '@/filters/DateFmt.js'導(dǎo)入我們的函數(shù)。代碼如下:

<script>
import { DateFmt } from '@/filters/DateFmt.js';
export default {
data(){
return{
curDateImportFilter: DateFmt(new Date(), 'yyyy-MM-dd hh:mm:ss')
}}}
</script>

在我們<template>中新加一個元素,并綁定 curDateImportFilter屬性,運行 npm run serve 回到瀏覽器,你就會看到兩個格式化日期。這樣好嗎?我們多了一個import , 雖然實現(xiàn)了,但覺得不夠好。

3.2 使用Vue.filter 返回過濾器

如果我們仔細看官方文檔,就會發(fā)現(xiàn)官說明了,通過 Vue.filter("filter")返回定義的函數(shù) ,所以Vue.filter不僅可以注冊,還可以返回。

我們繼續(xù)在data中添加屬性 :

curDateVueFilter: Vue.filter("DateFmt")(new Date(), 'yyyy-MM-dd hh:mm:ss')

通過上邊的步驟綁定該屬性,你會在瀏覽器上看到三個格式化好的日期。要使用Vue.filter,我們不得不額外的導(dǎo)入import Vue from 'vue'。跟上邊一樣,雖然實現(xiàn)了,但不夠好。

3.3 使用實例屬性$options

在vue組件,每個組件都有各自的屬性,這些屬性大多掛載中屬性 $options中,在chrome瀏覽器打印$vm0信息,我們就找到filter的信息。這里科普一下,在安裝vue開發(fā)者工具后$vm0表示我們當前選擇的組件,結(jié)果如下圖所示:

怎么換個角度使用VUE過濾器

從圖形上看,當前組件的filters為一個對象,并不能直接找到,不過展開至__proto__原型上看到了我們的DateFmt方法。好了現(xiàn)在我們在繼續(xù)在data中添加屬性

curDateOptFilter: this.$options.filters.DateFmt(new Date(), 'yyyy-MM-dd hh:mm:ss')

是的,采用這個方式,就不用再引入vue或者函數(shù)了,跟直接在template使用一樣。簡潔方便,感覺好多了。在深入一點,通過調(diào)試我們就會發(fā)現(xiàn) Vue.filter 是調(diào)用options.filters原型上的方法,如下圖所示

怎么換個角度使用VUE過濾器

關(guān)于“怎么換個角度使用VUE過濾器”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

網(wǎng)頁題目:怎么換個角度使用VUE過濾器
文章分享:http://www.2m8n56k.cn/article16/pecjdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管電子商務(wù)移動網(wǎng)站建設(shè)網(wǎng)頁設(shè)計公司自適應(yīng)網(wǎng)站域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
主站蜘蛛池模板: 91国语对白 | 成年人毛片网站 | 国产永久免费视频m3u8 | 中文字幕精品在线 | 亚洲高清视频在线播放 | 欧美日韩一区二区三区视频 | 免费人成在线观看 | 久久久在线视频精品免费观看 | 亚洲美女aⅴ久久久91 | 老色歌uuu26 老师张开腿让我爽了一夜视频 | 亚洲专区在线视频 | 欧美一级毛片香蕉网 | 欧美视频精品在线观看 | 欧美在线看欧美高清视频免费 | 在线观看精品国内福利视频 | 日韩一级a毛片欧美一级 | 性色网址 | 2021国产精品自拍 | 欧美日韩ay在线观看 | 91玖玖| 美国的毛片免费的 | 一本色道久久综合亚洲精品高清 | 一级做a免费视频观看网站 一级做a爰 | 欧美日韩顶级毛片www免费看 | 麻豆md国产在线观看 | 久久久久久久久久久福利观看 | 五月久久亚洲七七综合中文网 | 性做久久久久久免费观看 | 毛片图片| 草草国产成人免费视频 | 成人国产精品视频 | 亚洲国产在 | 国产猛烈无遮掩视频免费网站男女 | 永久精品免费影院在线观看网站 | 久久w5ww成w人免费不卡 | 久99频这里只精品23热 视频 | 精品国产美女福利到在线不卡 | 免费看一级 | 久久免费视频2 | 久久久在线视频精品免费观看 | 久久久精品免费观看 |