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

Vue項(xiàng)目中數(shù)據(jù)的深度監(jiān)聽或?qū)ο髮傩缘谋O(jiān)聽實(shí)例

 更新時(shí)間:2020年07月17日 10:02:54   作者:_cris  
這篇文章主要介紹了Vue項(xiàng)目中數(shù)據(jù)的深度監(jiān)聽或?qū)ο髮傩缘谋O(jiān)聽實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

眾所周知,vue項(xiàng)目中對數(shù)據(jù)的監(jiān)聽,提供了一個(gè)很好的鉤子watch,watch可以極其方便的監(jiān)聽我們常用數(shù)據(jù)類型值的變化,但通常當(dāng)我們想監(jiān)聽一個(gè)對象中,某個(gè)屬性值的變化時(shí),很難達(dá)到我們預(yù)期的效果。根據(jù)vue的文檔,不難發(fā)現(xiàn),使用數(shù)據(jù)的深度監(jiān)聽來達(dá)到這一效果。具體實(shí)現(xiàn)如下:

watch: {
  evlist: {
  handler(val, oldVal) {
   this.isTeam = val.projectParty;
   this.pjtid = val.pjtid;
   this.isFinish = val.projectSelfValue;
  },
  deep: true
  },
 
 },

這其中,evlist是一個(gè)對象,val監(jiān)聽到變化后的值,oldVal是變化前的值。

補(bǔ)充知識:vue中的監(jiān)聽屬性和計(jì)算屬性

計(jì)算屬性(computed)

vue中的計(jì)算屬性是非常棒的東西,它兼具了邏輯和變量??梢宰屛覀儾辉訇P(guān)注視圖層,值關(guān)注代碼的邏輯即可。至于數(shù)據(jù)如何展現(xiàn)則只需由Vue負(fù)責(zé),不需要我們的參與。

所以如果在面臨選擇是使用計(jì)算屬性還是監(jiān)視屬性的情況下,優(yōu)先選擇計(jì)算屬性

  <p>Original message: "{{ message }}"</p>
  <p>Computed reversed message: "{{ reversedMessage }}"</p>
</div>

export default {
  data(){
   return { 
    message: 'Hello',
   }
  },
  computed: {
   reversedMessage: function () {
    return this.message.split('').reverse().join('');
   }
  }

可以看到我們使用的計(jì)算屬性替代了模板內(nèi)表達(dá)式的功能。所以,對于任何復(fù)雜邏輯,你都應(yīng)當(dāng)使用計(jì)算屬性。而且計(jì)算屬性讓我們只關(guān)注于邏輯實(shí)現(xiàn),至于后期的數(shù)據(jù)在界面上的表示形式則直接由Vue.js負(fù)責(zé),讀者可以看到我們并沒有直接參與頁面展示上面來

此外,傳統(tǒng)的直接通過表達(dá)式求值的方式需要我們自行取值,而計(jì)算屬性是基于它們的依賴進(jìn)行緩存的。只在相關(guān)依賴發(fā)生改變時(shí)它們才會重新求值。也就是說,計(jì)算屬性會直接從緩存拿值,并伴隨著值的改變而改變。而傳統(tǒng)的直接通過表達(dá)式求值的方式需要我們在拿值之前需要執(zhí)行一次getter()函數(shù)

監(jiān)聽屬性(watch)

監(jiān)聽屬性其實(shí)質(zhì)是一次異步回調(diào),希望讀者在想到使用監(jiān)聽屬性之前多考慮能否采用計(jì)算屬性來取代監(jiān)聽屬性

對比同一個(gè)功能實(shí)現(xiàn)

//計(jì)算屬性
computed: {
  fullName2: function () {
    return this.firstName + ' ' + this.lastName
  }
}
//監(jiān)聽屬性
watch: {
   firstName: function (val) {
    this.fullName = val + ' ' + this.lastName
  },
  lastName: function (val) {
    this.fullName = this.firstName + ' ' + val
  }
} 

可以看到計(jì)算屬性的代碼更加簡潔也更加高效,而且就實(shí)現(xiàn)效果而言,明顯計(jì)算屬性會更好一點(diǎn)

以上這篇Vue項(xiàng)目中數(shù)據(jù)的深度監(jiān)聽或?qū)ο髮傩缘谋O(jiān)聽實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • elementUI Tree 樹形控件的官方使用文檔

    elementUI Tree 樹形控件的官方使用文檔

    這篇文章主要介紹了elementUI Tree 樹形控件的官方使用文檔,用清晰的層級結(jié)構(gòu)展示信息,可展開或折疊。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-04-04
  • 壓縮Vue.js打包后的體積方法總結(jié)(Vue.js打包后體積過大問題)

    壓縮Vue.js打包后的體積方法總結(jié)(Vue.js打包后體積過大問題)

    大家都知道,Vuejs的 CLI工具 是基于 webpack 來實(shí)現(xiàn)的,所以在項(xiàng)目打包后,會生成的文件會很大。 主要原因是 webpack 將我們所有文件都打包成一個(gè)js文件,即使再小的項(xiàng)目,打包之后文件都會變得很大。 下面講講最近我遇到的相同問題。
    2020-02-02
  • Vue實(shí)現(xiàn)單行刪除與批量刪除

    Vue實(shí)現(xiàn)單行刪除與批量刪除

    這篇文章主要介紹了Vue實(shí)現(xiàn)單行刪除與批量刪除,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue關(guān)閉開發(fā)模式提示的簡單解決辦法

    vue關(guān)閉開發(fā)模式提示的簡單解決辦法

    Vue開發(fā)模式是一種基于Vue.js框架的開發(fā)方式,它可以幫助開發(fā)者更高效地構(gòu)建和維護(hù)復(fù)雜的Web應(yīng)用程序,下面這篇文章主要給大家介紹了關(guān)于vue關(guān)閉開發(fā)模式提示的簡單解決辦法,需要的朋友可以參考下
    2024-04-04
  • Vue-router 中hash模式和history模式的區(qū)別

    Vue-router 中hash模式和history模式的區(qū)別

    這篇文章主要介紹了Vue-router 中hash模式和history模式的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • element-ui中el-table不顯示數(shù)據(jù)的問題解決

    element-ui中el-table不顯示數(shù)據(jù)的問題解決

    這篇文章主要介紹了element-ui中el-table不顯示數(shù)據(jù)的問題解決,這是最近在做列表首頁時(shí)遇到的一個(gè)問題,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Pinia進(jìn)階setup函數(shù)式寫法封裝到企業(yè)項(xiàng)目

    Pinia進(jìn)階setup函數(shù)式寫法封裝到企業(yè)項(xiàng)目

    這篇文章主要為大家介紹了Pinia進(jìn)階setup函數(shù)式寫法封裝到企業(yè)項(xiàng)目實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 一文帶你搞懂V8垃圾回收系統(tǒng)

    一文帶你搞懂V8垃圾回收系統(tǒng)

    在V8中,JavaScript的內(nèi)存空間分為棧(Stack)和堆(Heap)兩部分,垃圾回收的基本思路是:查找內(nèi)存中的所有變量,看哪些已經(jīng)不再需要,然后釋放這些變量所占用的內(nèi)存,本文就給大家梳理一下V8垃圾回收系統(tǒng),需要的朋友可以參考下
    2023-07-07
  • Vue2.0+ElementUI+PageHelper實(shí)現(xiàn)的表格分頁功能

    Vue2.0+ElementUI+PageHelper實(shí)現(xiàn)的表格分頁功能

    ElementUI也是一套很不錯的組件庫,對于我們經(jīng)常用到的表格、表單、時(shí)間日期選擇器等常用組件都有著很好的封裝和接口。這篇文章主要介紹了Vue2.0+ElementUI+PageHelper實(shí)現(xiàn)的表格分頁,需要的朋友可以參考下
    2021-10-10
  • vue 組件基礎(chǔ)知識總結(jié)

    vue 組件基礎(chǔ)知識總結(jié)

    這篇文章主要介紹了vue 組件基礎(chǔ)知識的相關(guān)資料,幫助大家更好的理解和使用vue的組件,感興趣的朋友可以了解下
    2021-01-01

最新評論

洪湖市| 威信县| 烟台市| 南充市| 苍溪县| 乌兰察布市| 额敏县| 承德县| 商河县| 岳普湖县| 安丘市| 长子县| 铜梁县| 招远市| 钦州市| 和政县| 安义县| 荃湾区| 微山县| 鱼台县| 盐边县| 合水县| 新沂市| 萍乡市| 酒泉市| 手游| 东乌珠穆沁旗| 博乐市| 大新县| 大方县| 牡丹江市| 邛崃市| 普兰店市| 双城市| 交口县| 威宁| 天峻县| 蕉岭县| 万山特区| 当雄县| 临夏县|