這篇文章主要為大家展示了“Vue的過濾器是什么”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Vue的過濾器是什么”這篇文章吧。
案例中使用到時間格式相關API
定義:對要顯示的數據進行特定格式化后在顯示
適用:做一些簡單的邏輯處理
特點:濾器可以做一些簡單操作,并且沒有改變原來的數據,產生新的對應的數據
1. 語法 : data | 過濾器
不傳參數默認將data值傳入,并且自動調用函數,函數可接收到value
傳參數并不會覆蓋掉第一個參數,第一個參數默認是value,第二個參數才是 傳入的參數
2. 濾器可以以串聯的形式
data | 過濾器 | 過濾器
執行的順序是將data當做參數傳入到第一個過濾器中,第一個過濾器處理完,返回的
值作為第二個過濾器的參數
Vue.filter(filterName, function(value){
return value.slice(0, 4);
})
new Vue({
.
..
...
})new Vue{
filters:{
filterName(value){
return value.slice(0, 4);
}
}
}在html中使用過濾器
<div>{{ handledata | filtername }}</div>
<div>{{ handledata | filtername(參數) }}</div> <div id="root">
<h4>methods寫的:{{time()}}</h4>
<h4>computed寫的:{{time1}}</h4>
<h4>過濾器的寫的:{{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
// 全局過濾器
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")
}
}
},
// 局部過濾器
filters:
{
// 這是ES的語法表示如果有傳參數就使用傳進來的參數,如果沒有傳參就使用
ftime(val, str = "YYYY年MM月DD日 HH:mm:ss") {
return dayjs(val).format(str)
},
}
})
new Vue({
el: "#root2",
data: {
number: Date.now(),
name: '我是第二個Vue'
}
})
</script>以上是“Vue的過濾器是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。