最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Vue中定義和調用過濾器的方法

 更新時間:2023年09月15日 11:48:59   作者:傳智教育  
過濾器(Filters)是 vue 為開發(fā)者提供的功能,常用于文本的格式化,這篇文章主要介紹了如何在Vue中定義和調用過濾器,需要的朋友可以參考下

過濾器(Filters)是 vue 為開發(fā)者提供的功能,常用于文本的格式化。過濾器可以用在兩個地方:插值表達式和 v-bind 屬性綁定。過濾器應該被添加在 JavaScript 表達式的尾部,由“管道符”進行調用,示例代碼如下:

<l--在雙花括號中通過“管道符“調用capitalize過濾器,對message的值進行格式化-->
<p>{{ message | capitalize }}</p>
<!--在v-bind 中通過“管道符”調用 formatId過濾器,對rawId的值進行格式化-->
<div v-bind:id="rawId| formatId"></div>

在創(chuàng)建 vue 實例期間,可以在 filters 節(jié)點中定義過濾器,示例代碼如下:

const vm = new Vue({
    el: '#app',
    data: {
        message: 'hello vue. js',
        info: 'title info'
    },
    filters: { // 在 filters 節(jié)點下定義“過濾器”
        capitalize(str) { //把首字母轉為大寫的過濾器
            return str.charAt(0).toUpperCase() + str.slice(1)
        }
    }
})

在 filters 節(jié)點下定義的過濾器,稱為“私有過濾器”,因為它只能在當前 vm 實例所控制的 el 區(qū)域內使用。

如果希望在多個 vue 實例之間共享過濾器,則可以按照如下的格式定義全局過濾器:

// 全局過濾器-獨立于每個vm實例之外
// Vue.filter()方法接收兩個參數(shù):
//     第 1 個參數(shù),是全局過濾器的“名字“
//     第 2 個參數(shù),是全局過濾器的“處理函數(shù)“
Vue.filter('capitalize', (str) => {
  return str.charAt(0).toUpperCase() + str.slice(1)
})

過濾器可以串聯(lián)地進行調用,例如:

<!--把 message的值,交給filterA 進行處理-->
<!--把filterA處理的結果,再交給filterB進行處理-->
<!--最終把filterB處理的結果,作為最終的值渲染到頁面上-->
{{ message | filterA | filterB }}

連續(xù)調用多個過濾器的示例代碼如下:

<!--串聯(lián)調用多個過濾器-->
<p>{{text | capitalize | maxLength)}</p>
//全局過濾器-首字母大寫
Vue.filter('capitalize', (str) => {
  return str.charAt(0).tolpperCase() + str.slice(1) + '--'
})
//全局過濾器 - 控制文本的最大長度
Vue.filter('maxLength', (str) => {
if (str.length <= 10) return str
return str.slice(0, 11) +'…'
})

過濾器的本質是 JavaScript 函數(shù),因此可以接收參數(shù),格式如下:

<!-- arg1和 arg2 是傳遞給 filterA 的參數(shù)-->
<p>{{ message | filterA(arg1, arg2) }}</p>
//過濾器處理函數(shù)的形參列表中:
//  第一個參數(shù):永遠都是”管道符“前面待處理的值
//  從第二個參數(shù)開始,才是調用過濾器時傳遞過來的arg1和arg2參數(shù)
Vue.filter('filterA',(msg, arg1, arg2) =>{
  //過濾器的代碼邏輯...
})

過濾器傳參,示例代碼如下:

<!--調用 maxlength 過濾器時傳參-->
<p>{{text | capitalize | maxLength(5)}}</p>
//全局過濾器 - 首字母大寫
Vue.filter('capitalize',(str) => {
return str.charAt(0).toUpperCase() + str.slice(1) + '~~'
})
//全局過濾器-控制文本的最大長度
Vue.filter('maxLength', (str, len = 10) => {
  if (str.length A len) return str
  return str.slice(0, len) +'…
})

過濾器的兼容性

過濾器僅在 vue 2.x 和 1.x 中受支持,在 vue 3.x 的版本中剔除了過濾器相關的功能。

在企業(yè)級項目開發(fā)中:

? 如果使用的是 2.x 版本的 vue,則依然可以使用過濾器相關的功能

? 如果項目已經(jīng)升級到了 3.x 版本的 vue,官方建議使用計算屬性或方法代替被剔除的過濾器功能

具體的遷移指南,請參考 vue 3.x 的官方文檔給出的說明:

https://v3.vuejs.org/guide/migration/filters.html#migration-strategy

到此這篇關于如何在Vue中定義和調用過濾器的文章就介紹到這了,更多相關vue調用過濾器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue Antd 輸入框Input自動聚焦方式

    vue Antd 輸入框Input自動聚焦方式

    這篇文章主要介紹了vue Antd 輸入框Input自動聚焦方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue使用$refs來訪問組件實例或DOM元素的注意事項說明

    Vue使用$refs來訪問組件實例或DOM元素的注意事項說明

    Vue中$refs需在渲染后使用,避免模板直接調用,非響應式且需手動清理,替代方式有事件、provide/inject和響應式對象,性能優(yōu)化需避免頻繁訪問、清理冗余引用、緩存結果
    2025-07-07
  • axios解決高并發(fā)的方法:axios.all()與axios.spread()的操作

    axios解決高并發(fā)的方法:axios.all()與axios.spread()的操作

    這篇文章主要介紹了axios解決高并發(fā)的方法:axios.all()與axios.spread()的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue實現(xiàn)分頁功能

    vue實現(xiàn)分頁功能

    這篇文章主要為大家詳細介紹了vue實現(xiàn)分頁功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 詳解vue數(shù)據(jù)響應式原理之數(shù)組

    詳解vue數(shù)據(jù)響應式原理之數(shù)組

    這篇文章主要為大家詳細介紹了vue數(shù)據(jù)響應式原理之數(shù)組,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • vue?跳轉頁面$router.resolve和$router.push案例詳解

    vue?跳轉頁面$router.resolve和$router.push案例詳解

    這篇文章主要介紹了vue?跳轉頁面$router.resolve和$router.push案例詳解,這樣實現(xiàn)了既跳轉了新頁面,又不會讓后端檢測到頁面鏈接不安全之類的,需要的朋友可以參考下
    2023-10-10
  • element ui table(表格)實現(xiàn)點擊一行展開功能

    element ui table(表格)實現(xiàn)點擊一行展開功能

    這篇文章主要給大家介紹了關于element ui table(表格)實現(xiàn)點擊一行展開功能的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • Vue2和Vue3響應式原理對比分析

    Vue2和Vue3響應式原理對比分析

    Vue2采用Object.defineProperty實現(xiàn)響應式,存在無法監(jiān)聽新增屬性、數(shù)組索引變化及性能問題;Vue3使用Proxy全面覆蓋,支持更靈活的數(shù)據(jù)操作,性能更優(yōu)且TypeScript兼容性更好,推薦長期項目使用Vue3
    2025-08-08
  • VUE長按事件需求詳解

    VUE長按事件需求詳解

    這篇文章主要為大家詳細介紹了為大家詳細幾種長按事件的需求,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 如何使用ant-design-vue的Table組件

    如何使用ant-design-vue的Table組件

    這篇文章主要介紹了如何使用ant-design-vue的Table組件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評論

青浦区| 通城县| 新巴尔虎左旗| 广南县| 奈曼旗| 乌什县| 罗田县| 孟州市| 闻喜县| 化德县| 乌拉特后旗| 资中县| 宜宾县| 彰化县| 鄯善县| 禹城市| 铜山县| 莱阳市| 老河口市| 广水市| 黎川县| 新兴县| 芦山县| 博湖县| 崇文区| 西昌市| 亳州市| 五家渠市| 土默特右旗| 西丰县| 宾川县| 潼关县| 衡东县| 吐鲁番市| 宜宾市| 泽州县| 遂溪县| 永新县| 阿拉善左旗| 玉屏| 象州县|