Vue 的過濾器(Filter)是一個(gè)非常方便的函數(shù),用于對(duì)數(shù)據(jù)進(jìn)行格式化輸出。其中,格式化函數(shù)可以接受參數(shù),并將參數(shù)格式化為需要的格式輸出。過濾器可用于在文本格式化的時(shí)候?qū)敵鲞M(jìn)行處理。
Vue.js 中的過濾器是一種可以接收輸入值(也就是輸入數(shù)據(jù))并返回處理后結(jié)果的函數(shù)。它通常被用于一些簡單的格式化、排序或者搜索等等的操作。 Vue.js 提供了一組常用的過濾器,開發(fā)者也可以自定義過濾器。
Vue.filter('uppercase', function (value) { if (!value) return '' value = value.toString() return value.toUpperCase() }) new Vue({ el: '#app', data: { message: 'Hello, Vue!' } })
在上面的代碼中,我們定義了一個(gè)名為 uppercase 的過濾器,并將其注冊(cè)到 Vue 實(shí)例中以便使用,它的作用是將輸入值轉(zhuǎn)換為大寫格式。隨后在 Vue 實(shí)例中,我們定義了一個(gè) message 的屬性,該屬性的值為 "Hello, Vue!" 字符串。在模板中,我們可以輕松地通過管道符將 message 數(shù)據(jù)傳入到定義好的過濾器中,從而輸出 message 的值為大寫版。
過濾器有多個(gè)參數(shù)的情況下,可以用管道符將過濾器鏈接在一起,從左到右依次變換。比如,你可以添加第二個(gè)參數(shù)來指定過濾器的格式,然后獲取結(jié)果:
Vue.filter('snippet', function (value) { return value.slice(0, 100) + '...' }) new Vue({ el: '#app', data: { message: 'Hello, Vue!' } })
以上代碼中,我們定義了一個(gè)名為 snippet 的過濾器,用于截取字符串的前 100 個(gè)字符并添加省略號(hào)。我們?yōu)槠涮砑恿艘粋€(gè)第二個(gè)參數(shù)來指定格式化,然后在 Vue 實(shí)例中使用該過濾器,從而輸出 message 的截取字符串。