溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Vue的過(guò)濾器是什么

發(fā)布時(shí)間:2022-02-25 09:23:07 來(lái)源:億速云 閱讀:194 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了“Vue的過(guò)濾器是什么”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Vue的過(guò)濾器是什么”這篇文章吧。

    1. 過(guò)濾器

    案例中使用到時(shí)間格式相關(guān)API

    1.1 對(duì)過(guò)濾器的理解

    定義:對(duì)要顯示的數(shù)據(jù)進(jìn)行特定格式化后在顯示

    適用:做一些簡(jiǎn)單的邏輯處理

    特點(diǎn):濾器可以做一些簡(jiǎn)單操作,并且沒(méi)有改變?cè)瓉?lái)的數(shù)據(jù),產(chǎn)生新的對(duì)應(yīng)的數(shù)據(jù)

     1. 語(yǔ)法 : data | 過(guò)濾器

     不傳參數(shù)默認(rèn)將data值傳入,并且自動(dòng)調(diào)用函數(shù),函數(shù)可接收到value

     傳參數(shù)并不會(huì)覆蓋掉第一個(gè)參數(shù),第一個(gè)參數(shù)默認(rèn)是value,第二個(gè)參數(shù)才是 傳入的參數(shù)

     2. 濾器可以以串聯(lián)的形式

     data | 過(guò)濾器 | 過(guò)濾器

     執(zhí)行的順序是將data當(dāng)做參數(shù)傳入到第一個(gè)過(guò)濾器中,第一個(gè)過(guò)濾器處理完,返回的

     值作為第二個(gè)過(guò)濾器的參數(shù)

    1.2 全局過(guò)濾器:

    Vue.filter(filterName, function(value){
      return value.slice(0, 4);
    })
    new Vue({
    	.
    	..
    	...
    })

    1.3 局部過(guò)濾器:

    new Vue{
    	filters:{
    		filterName(value){
          return value.slice(0, 4);
    		}
    	}
    }

    在html中使用過(guò)濾器

    <div>{{ handledata | filtername }}</div>
    <div>{{ handledata | filtername(參數(shù)) }}</div>

    1.4 過(guò)濾器的案例

     <div id="root">
            <h4>methods寫(xiě)的:{{time()}}</h4>
            <h4>computed寫(xiě)的:{{time1}}</h4>
            <h4>過(guò)濾器的寫(xiě)的:{{number | ftime("YYYY-MM-DD HH:mm:ss") | qjtime}}</h4>
        </div>
        <div id="root2">
            <hr>
            <h4>{{name | qjtime}}</h4>
        </div>
        <script>
            Vue.config.productionTip = false
            // 全局過(guò)濾器
            Vue.filter('qjtime', function (val) {
                return val.slice(0, 4)
            })
            let vm = new Vue({
                el: '#root',
                data: {
                    number: Date.now()
                },
                methods: {
                    time() {
                        return dayjs(this.number).format("YYYY年MM月DD日 HH:mm:ss")
                    }
                },
                computed:
                {
                    time1: {
                        get() {
                            return dayjs(this.number).format("YYYY年MM月DD日 HH:mm:ss")
                        }
                    }
                },
                // 局部過(guò)濾器
                filters:
                {
                    // 這是ES的語(yǔ)法表示如果有傳參數(shù)就使用傳進(jìn)來(lái)的參數(shù),如果沒(méi)有傳參就使用
                    ftime(val, str = "YYYY年MM月DD日 HH:mm:ss") {
                        return dayjs(val).format(str)
                    },
                }
            })
    
            new Vue({
                el: "#root2",
                data: {
                    number: Date.now(),
                    name: '我是第二個(gè)Vue'
                }
            })
        </script>

    以上是“Vue的過(guò)濾器是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    vue
    AI