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

Vue 中 filter 與 computed 的區(qū)別與用法解析

 更新時(shí)間:2019年11月21日 09:25:01   作者:VanMess  
這篇文章主要介紹了Vue 中 filter 與 computed 的區(qū)別與用法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

watch與computed、filter:

watch:監(jiān)控已有屬性,一旦屬性發(fā)生了改變就去自動(dòng)調(diào)用對(duì)應(yīng)的方法

computed:監(jiān)控已有的屬性,一旦屬性的依賴發(fā)生了改變,就去自動(dòng)調(diào)用對(duì)應(yīng)的方法

filter:js中為我們提供的一個(gè)方法,用來幫助我們對(duì)數(shù)據(jù)進(jìn)行篩選

watch與computed的區(qū)別:

1.watch監(jiān)控現(xiàn)有的屬性,computed通過現(xiàn)有的屬性計(jì)算出一個(gè)新的屬性

2.watch不會(huì)緩存數(shù)據(jù),每次打開頁面都會(huì)重新加載一次,

但是computed如果之前進(jìn)行過計(jì)算他會(huì)將計(jì)算的結(jié)果緩存,如果再次請(qǐng)求會(huì)從緩存中
得到數(shù)據(jù)(所以computed的性能比watch更好一些)

最近遇到一個(gè)很不錯(cuò)的候選人,經(jīng)驗(yàn)豐富,有技術(shù)亮點(diǎn),但在一些細(xì)枝末節(jié)問題上沒有回答的很好,最終還是被刷了。面試過程中有一個(gè)問題我印象特別深刻: Vue 中filter與computed屬性的區(qū)別 ,可惜候選人在現(xiàn)場(chǎng)沒有回答上,這里總結(jié)一下:

filter 與 computed 的區(qū)別

1. 觸發(fā)時(shí)機(jī)不同

computed 屬性背后的處理邏輯比較復(fù)雜,依賴 Vue 的數(shù)據(jù)更新通知機(jī)制,在屬性所依賴的其他數(shù)據(jù)項(xiàng)發(fā)生變化時(shí)才會(huì)重新觸發(fā)計(jì)算。優(yōu)點(diǎn)是計(jì)算頻率相對(duì)較低;缺點(diǎn)是依賴于組件,難以抽取成獨(dú)立邏輯,也就是復(fù)用性低。

filter 則顯的簡(jiǎn)單很多,只在顯式調(diào)用時(shí)觸發(fā),一般應(yīng)用在模板渲染上。優(yōu)點(diǎn)是容易在組件外抽象;缺點(diǎn)是每次模板渲染時(shí)都需要重新執(zhí)行計(jì)算。可以通過示例 感受調(diào)用時(shí)機(jī)的區(qū)別:

2. 應(yīng)用范圍不同

computed 很廣泛,可以應(yīng)用在其他computed、methods、生命周期函數(shù)、模板;filter 一般只應(yīng)用于模板渲染上,如果要在其他位置復(fù)用,需要使用 this._f 函數(shù):

Vue.component('HelloWorld', {
 filters: {
 hello() {
 return 'hello';
 }
 },
 methods: {
 ping() {
 return `${this._f('hello')()} world`;
 }
 }
})

另外,在使用上filter支持鏈?zhǔn)秸{(diào)用,這為其增加了組合拼接的能力:

<span> {{ name | normalize | capitalize }} </span>

3. 定義方式

最后需要指出,computed 屬性只能在組件內(nèi)部或通過mixins對(duì)象定義;而 filter 有兩種定義方式,一是在組件內(nèi)部通過 filters 屬性定義;一是在組件外部通過 Vue.filter 函數(shù)定義:

Vue.component('HelloWorld', {
 filters: {
 hello() {
 return 'hello';
 }
 }
});
Vue.filter('hello', ()=> 'hello');

應(yīng)用規(guī)則

綜上,filter 無法緩存,調(diào)用頻率高,因此特別適用于格式化輸出場(chǎng)景,比如日期格式化。filter 具有組合調(diào)用能力,因此可以在項(xiàng)目架構(gòu)層面定義一堆基礎(chǔ)的、簡(jiǎn)單的filter,按需在組件內(nèi)組合適用。

computed 屬性具有緩存能力,在組件內(nèi)普適性更強(qiáng),因此適用于復(fù)雜的數(shù)據(jù)轉(zhuǎn)換、統(tǒng)計(jì)等場(chǎng)景。

總結(jié)

以上所述是小編給大家介紹的Vue 中 filter 與 computed 的區(qū)別與用法解析,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • vue配置代理服務(wù)器proxy 多種方法示例詳解

    vue配置代理服務(wù)器proxy 多種方法示例詳解

    這篇文章主要介紹了vue配置代理服務(wù)器proxy 多種方法,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • vue中定義的data為什么是函數(shù)

    vue中定義的data為什么是函數(shù)

    這篇文章主要介紹了vue中定義的data為什么是函數(shù),vue中已經(jīng)幫我們控制臺(tái)輸出警告,并且不會(huì)讓組件中的data合并到options中去,那么,很友好的處理了開發(fā)者的強(qiáng)行將data寫成對(duì)象的可能性,需要的朋友可以參考下
    2022-09-09
  • vue v-for循環(huán)重復(fù)數(shù)據(jù)無法添加問題解決方法【加track-by=''索引''】

    vue v-for循環(huán)重復(fù)數(shù)據(jù)無法添加問題解決方法【加track-by=''索引''】

    這篇文章主要介紹了vue v-for循環(huán)重復(fù)數(shù)據(jù)無法添加問題解決方法,結(jié)合實(shí)例形式分析了vue.js通過在v-for循環(huán)中添加track-by='索引'解決重復(fù)數(shù)據(jù)無法添加問題相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • Vuex實(shí)現(xiàn)簡(jiǎn)單購物車

    Vuex實(shí)現(xiàn)簡(jiǎn)單購物車

    這篇文章主要為大家詳細(xì)介紹了Vuex實(shí)現(xiàn)簡(jiǎn)單購物車,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • vue安裝vue-router出錯(cuò)問題及解決

    vue安裝vue-router出錯(cuò)問題及解決

    這篇文章主要介紹了vue安裝vue-router出錯(cuò)問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Vue3利用自定義ref實(shí)現(xiàn)防抖功能

    Vue3利用自定義ref實(shí)現(xiàn)防抖功能

    在Vue3中,ref提供了訪問組件內(nèi)DOM元素和子組件實(shí)例的方法,防抖是一種限制函數(shù)調(diào)用頻率的方法,即在一定時(shí)間內(nèi)多次觸發(fā)同一個(gè)函數(shù),只執(zhí)行最后一次觸發(fā)的函數(shù),本文將給大家介紹了Vue3如何利用自定義ref實(shí)現(xiàn)防抖,需要的朋友可以參考下
    2024-05-05
  • Vue實(shí)現(xiàn)簡(jiǎn)單計(jì)算器案例

    Vue實(shí)現(xiàn)簡(jiǎn)單計(jì)算器案例

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)簡(jiǎn)單計(jì)算器案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • vue 實(shí)現(xiàn) rem 布局或vw 布局的方法

    vue 實(shí)現(xiàn) rem 布局或vw 布局的方法

    這篇文章主要介紹了vue 實(shí)現(xiàn) rem 布局的 或者 vw 布局的方法,本文給提供多種方法,需要的朋友可以參考下
    2019-11-11
  • 詳解Vue 多級(jí)組件透?jìng)餍路椒╬rovide/inject

    詳解Vue 多級(jí)組件透?jìng)餍路椒╬rovide/inject

    這篇文章主要介紹了詳解Vue 多級(jí)組件透?jìng)餍路椒╬rovide/inject,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • vue.js學(xué)習(xí)筆記之綁定style樣式和class列表

    vue.js學(xué)習(xí)筆記之綁定style樣式和class列表

    數(shù)據(jù)綁定一個(gè)常見需求是操作元素的 class 列表和它的內(nèi)聯(lián)樣式。這篇文章主要介紹了vue.js綁定style和class的相關(guān)資料,需要的朋友可以參考下
    2016-10-10

最新評(píng)論

油尖旺区| 萨迦县| 永清县| 出国| 昭平县| 保康县| 互助| 丰顺县| 陈巴尔虎旗| 习水县| 来凤县| 大化| 于都县| 永仁县| 永安市| 搜索| 娄底市| 贵定县| 临猗县| 淮北市| 墨竹工卡县| 滕州市| 万荣县| 辽源市| 德惠市| 白城市| 河曲县| 张北县| 科技| 乌兰察布市| 来安县| 西平县| 大英县| 安阳市| 光泽县| 丹棱县| 武冈市| 牟定县| 波密县| 来安县| 邢台市|