老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Vue中怎么創建并使用過濾器

Vue中怎么創建并使用過濾器,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

成都創新互聯專業為企業提供朝陽網站建設、朝陽做網站、朝陽網站設計、朝陽網站制作等企業網站建設、網頁設計與制作、朝陽企業網站模板建站服務,十多年朝陽做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

定義和使用過濾器

使用 Vue,我們可以通過兩種不同的方式注冊過濾器:全局和本地。前者方式可以訪問所有組件中的過濾器,而后者則只能在定義該組件的組件內部使用過濾器。

過濾器是簡單的 JS 函數,它們將要轉換的值作為第一個參數,但是也可以傳入盡可能多的其他參數來返回該值的格式化版本。

全局過濾器

全局過濾器如下所示:

// 在此示例中,我們將注冊一個全局過濾器用來在價格前面添加美元符號:  // 聲明 Vue.filter('toUSD', function (value)) {   return `$${value}` } // 使用    {{ 351.99 | toUSD }} 

過濾器定義必須始終在主Vue實例之上,否則會得到一個Failed to resolve filter: toUSD錯誤。

// DECLARATION Vue.filter('toUSD', function (value) {     return `$${value}`; });  new Vue({     el: '#app',       data: {         price: 351.99     } });  // USAGE    {{ price | toUSD }} 

本地過濾器

本地過濾器注冊到一個Vue組件作用域中,來看看如何創建:

// 在此示例中,我們將創建一個過濾器,將字符串變成大寫。  // 聲明 new Vue({     el: '#app',      data: {         name: 'scotch.io'     },      filters: {        // Filter definitions         Upper(value) {             return value.toUpperCase();         }     } });  // 用法    {{ name | Upper }} 

如上面的示例中看到的那樣,本地過濾器作為“filters”屬性內的函數存儲在Vue組件中。我們可以注冊任意多個:

...     filters: {         Upper(value) {               return value.toUpperCase();         },         Lower(value) {             return value. toLowerCase();         },     } ....

附加參數設置

正如我們在本文引言中所提到的,過濾器可以根據需要接受任意多個參數

// 聲明 Vue.filter('readMore', function (text, length, suffix) {     return text.substring(0, length) + suffix; });  new Vue({     el: '#app',      data: {         text: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Non ab modi repellendus labore facere, fugiat ipsam quae accusantium commodi voluptas nesciunt dolor similique ipsum accusamus earum eligendi suscipit laborum quod.'     } });  // 用法    {{ text | readMore(10, '...') }} 

在此示例中,我們創建了一個名稱為“readMore”的過濾器,該過濾器會將字符串的長度限制為給定的字符數,并且還會在其中添加所選擇的后綴。Vue.js  將要過濾的值作為第一個參數 text 傳遞,length 和 suffix 作為第二個和第三個參數傳遞。

鏈式過濾器

關于過濾器,我最喜歡的一點是能夠使用管道(|)符號將它們鏈接起來,并通過一系列轉換器運行單個值。再舉一個價格的例子,我們想限制價格的小數位以及加價格的單位。

// JS Vue.filter('toFixed', function (price, limit) {     return price.toFixed(limit); });  Vue.filter('toUSD', function (price) {     return `$${price}`; });  new Vue({     el: '#app',      data: {         price: 435.333     } });  // HTML     {{ price | toFixed(2) | toUSD }} 

示例

接下來,我們通過一些事例來鞏固一下。

將 JS 值轉換為JSON字符串

// JS Vue.filter('json', function (value) {     return JSON.stringify(value); });  new Vue({     el: '#app',      data: {         user: {             username: 'johndoe',             email: 'john@example.com',             countryCode: 'U.K.'         }     } });   // HTML    {{ user | json }} 

從對象數組中提取屬性值列表

Vue.filter('pluck', function (objects, key) {     return objects.map(function(object) {          return object[key];     }); });  new Vue({     el: '#app',      data: {         users: [         {             "id": 4,             "first_name": "Eve",             "last_name": "Holt"         },         {             "id": 5,             "first_name": "Charles",             "last_name": "Morris"         },         {             "id": 6,             "first_name": "Tracey",             "last_name": "Ramos"         }         ]     } });   // HTML     {{ users | pluck('last_name') }} 

返回給定索引處的元素

Vue.filter('at', function (value, index) {     return value[index]; });  new Vue({     el: '#app',      data: {         videos: ['Zi_XLOBDo_Y', 'sOnqjkJTMaA', 'sOnqjkJTMaA']     } });  // HTML    {{ videos | at(1) }} 

返回給定列表中的最小值

// JS Vue.filter('min', function (values) {     return Math.min(...values); });  new Vue({     el: '#app',      data: {         ages: [23, 19, 45, 12, 32]     } });  // HTML     {{ ages | min }} 

隨機排列元素列表:

Vue.filter('shuffle', function (values) {     for (var i = values.length - 1; i > 0; i--) {         var j = Math.floor(Math.random() * (i + 1));         var temp = values[i];         values[i] = values[j];         values[j] = temp;     }     return values; });  new Vue({     el: '#app',      data: {         cards: ['Lahire', 'Judith', 'Lancelot', 'Alexandre']     } });  // HTML     {{ cards | shuffle }} 

返回數組的第一個元素:

Vue.filter('first', function (values) {     if(Array.isArray(values)) {         return values[0];     }     return values; });  new Vue({     el: '#app',      data: {         consoles: ['PlayStation', 'Nintendo DS', 'Xbox', 'Atari']     } });  // HTML    {{ consoles | first }} 

返回數組的最后一個元素

Vue.filter('last', function (values) {     if(Array.isArray(values)) {         return values[values.length - 1];     }     return values; });  new Vue({     el: '#app',      data: {         consoles: ['PlayStation', 'Nintendo DS', 'Xbox', 'Atari']     } });  // HTML    {{ consoles | last }} 

返回過濾指定元素的數組的副本

Vue.filter('without', function (values, exclude) {     return values.filter(function(element) {         return !exclude.includes(element);     }); });  new Vue({     el: '#app',      data: {         unpaidInvoices: ['#1001', '#1002', '#1003', '#1004']     } });  // HTML    {{ unpaidInvoices | without('#1003') }} 

刪除數組中重復的元素

Vue.filter('unique', function (values, unique) {     return values.filter(function(element, index, self) {         return index == self.indexOf(element);     }); });  new Vue({     el: '#app',      data: {         recentViewedPosts: [13, 43, 23, 13, 43, 3, 98, 42, 65]     } });  // HTML     {{ recentViewedPosts | unique }} 

在字符串后加上文本

Vue.filter('prepend', function (string, prepend) {     return `${string}${prepend}`; });  new Vue({     el: '#app',      data: {         greeting: 'Hello'     } });  // HTML    {{ greeting | prepend(' World!') }} 

重復一個字符串n次

Vue.filter('repeat', function (string, times) {     return string.repeat(times); });  new Vue({     el: '#app',      data: {         greeting: 'Hello'     } });  // HTML     {{ greeting | repeat(3) }} 

關于 Vue中怎么創建并使用過濾器問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。


網站標題:Vue中怎么創建并使用過濾器
轉載注明:http://www.xueling.net.cn/article/pdicip.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲国产欧美国产综合久久 | 国产区精品在线观看 | 作爱视频在线免费观看 | www一起操| 伊人狠狠色丁香婷婷综合动态图 | 91精品国产日韩91久久久久久 | 亚洲国产国产亚洲一二三 | 国产高清在线一区 | 美州a亚洲一视本频v色道 | 美国成人免费视频 | 99精品视频在线观看免费播放 | 国产精品久久亚洲不卡 | 亚洲a一级视频 | 欧美亚洲日本国产综合在线美利坚 | 久久超碰在线 | 日韩毛片久久久 | 免费在线观看色视频 | 精品精品国产高清A毛片牛牛 | a级片在线 | 深夜福利1000| 女生被艹在线观看 | 成人午夜高清 | 日韩精品久久久久久久九岛 | 国产日产一区二区 | 伊人免费入口 | 亚洲黄色免费观看 | wwww.黄| 9色av| 中国亚洲女人69内射少妇 | 亚洲看片wwwwf5con| 一区二区三区欧美日韩 | 午夜小视频在线免费观看 | 久久激情日本aⅴ | 成人a片永久免费网站 | 日韩免费va | 永久免费av无码入口 | 99毛片 | 日本少妇被爽到高潮动态图 | 国产精品久久久久农村妇女 | ww久久中文字幕 | 欧美成人综合视频 |