国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Vue中watch對(duì)象內(nèi)屬性的方法

OldPanda / 3579人閱讀

摘要:通常寫法是,上述情況里中的屬性可以直接監(jiān)聽,但是如果需要監(jiān)聽的數(shù)據(jù)是對(duì)象內(nèi)的某一屬性值的變化,直接對(duì)象是檢測(cè)不到變化的,這是因?yàn)檫@個(gè)對(duì)象的指向并沒有發(fā)生改變。不過這樣會(huì)造成更多的性能開銷,尤其是對(duì)象里面屬性過多,結(jié)構(gòu)嵌套過深的時(shí)候。

vue提供了watch方法,用于監(jiān)聽實(shí)例內(nèi)data數(shù)據(jù)的變化。通常寫法是:

new Vue({
  data: {
    count: 10,
    blog:{
        title:"my-blog",
        categories:[]
    }
  },
  watch: {
    count: function (newval, oldVal) {
      console.log(`new: %s, old: %s`, newVal, oldVal);
    }
  }
})

上述情況里data中的count屬性可以直接監(jiān)聽,但是如果需要監(jiān)聽的數(shù)據(jù)是對(duì)象內(nèi)的某一屬性值的變化,直接watch對(duì)象blog是檢測(cè)不到變化的,這是因?yàn)?b>blog這個(gè)對(duì)象的指向并沒有發(fā)生改變。有幾個(gè)解決方法

1.深度監(jiān)測(cè)
new Vue({
  data: {
    count: 10,
    blog:{
        title:"my-blog",
        categories:[]
    }
  },
  watch: {
    blog:{
        handler(newVal,oldVal){
            console.log(`new: ${newVal}, old: ${oldVal}`);
        },
        deep:true
    }
  }
})

里面的deep設(shè)為了true,這樣的話,如果修改了這個(gè)blog中的任何一個(gè)屬性,都會(huì)執(zhí)行handler這個(gè)方法。不過這樣會(huì)造成更多的性能開銷,尤其是對(duì)象里面屬性過多,結(jié)構(gòu)嵌套過深的時(shí)候。而且有時(shí)候我們就只想關(guān)心這個(gè)對(duì)象中的某個(gè)特定屬性,這個(gè)時(shí)候可以這樣

2.用字符串來表示對(duì)象的屬性調(diào)用
new Vue({
  data: {
    count: 10,
    blog:{
        title:"my-blog",
        categories:[]
    }
  },
  watch: {
    "blog.categories"(newVal, oldVal) {
        console.log(`new:${newVal}, old:${oldVal}`);
    }, 
  }
})
3.使用computed計(jì)算屬性
new Vue({
  data: {
    count: 10,
    blog:{
        title:"my-blog",
        categories:[]
    }
  },
  computed: {
    categories() {
      return this.blog.categories;
    }
  },
  watch: {
    categories(newVal, oldVal) {
      console.log(`new:${newVal}, old:${oldVal}`);
    }, 
  },
})
Reference

計(jì)算屬性和偵聽器 — Vue.js
vue watch對(duì)象內(nèi)的屬性監(jiān)聽
Vue使用watch監(jiān)聽一個(gè)對(duì)象中的屬性

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/101498.html

相關(guān)文章

  • vue 開發(fā)遇到問題匯總(踩坑指南)

    摘要:組件中使用定時(shí)器及銷毀問題如果我們?cè)陧撁嬷惺褂昧艘粋€(gè)定時(shí)器,當(dāng)從頁面跳轉(zhuǎn)到頁面時(shí),如果不手動(dòng)清除這個(gè)定時(shí)器,那么它仍舊會(huì)執(zhí)行,這不是我們所期望的。 公司年初開始從jquery轉(zhuǎn)型到vue開發(fā),思想上從jquery的操作DOM到vue的操作數(shù)據(jù),剛開始還不太習(xí)慣,但用了一段時(shí)間發(fā)現(xiàn)確實(shí)比較方便。在剛開始用vue的時(shí)候,也踩了一些坑,現(xiàn)在分享出來,供剛?cè)腴T上手開發(fā)vue的朋友參考,都是一些...

    wean 評(píng)論0 收藏0
  • Vue原理】Watch - 源碼版

    摘要:寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注源碼分享,文章分為白話版和源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于版本如果你覺得排版難看,請(qǐng)點(diǎn)擊下面鏈接或者拉到下面關(guān)注公眾號(hào)也可以吧原理源碼版今天繼續(xù)探索源碼,廢話不 寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于...

    Hancock_Xu 評(píng)論0 收藏0
  • Vue原理】Watch - 白話版

    摘要:而是在初始化時(shí),在讀取了監(jiān)聽的數(shù)據(jù)的值之后,便立即調(diào)用一遍你設(shè)置的監(jiān)聽回調(diào),然后傳入剛讀取的值設(shè)置了時(shí),如何工作我們都知道有一個(gè)選項(xiàng),是用來深度監(jiān)聽的。 寫文章不容易,點(diǎn)個(gè)贊唄兄弟專注 Vue 源碼分享,文章分為白話版和 源碼版,白話版助于理解工作原理,源碼版助于了解內(nèi)部詳情,讓我們一起學(xué)習(xí)吧研究基于 Vue版本 【2.5.17】 如果你覺得排版難看,請(qǐng)點(diǎn)擊 下面鏈接 或者 拉到 下...

    hzx 評(píng)論0 收藏0
  • # vue.js 之 對(duì)vue.js基礎(chǔ)理解

    摘要:之對(duì)基礎(chǔ)理解構(gòu)造器是一個(gè)構(gòu)造函數(shù),編程中稱之為構(gòu)造器每一個(gè)都是一個(gè)構(gòu)造函數(shù)的實(shí)例,這個(gè)過程叫做實(shí)例化構(gòu)造函數(shù)需要將其實(shí)例化后才會(huì)啟用構(gòu)造器要求實(shí)例化時(shí)需要傳入一個(gè)選項(xiàng)對(duì)象組件其實(shí)都是被擴(kuò)展的實(shí)例。 vue.js 之 對(duì)vue.js基礎(chǔ)理解 Vue構(gòu)造器 1 . Vue.js是一個(gè)構(gòu)造函數(shù),編程中稱之為構(gòu)造器 2 . 每一個(gè)new Vue() 都是一個(gè)Vue構(gòu)造函數(shù)的實(shí)例,這個(gè)過程叫...

    Rainie 評(píng)論0 收藏0
  • 前端面試匯總VUE(二)

    摘要:采用了新舊的對(duì)比,獲取差異的,最后一次性的更新到真實(shí)上。對(duì)基本屬性進(jìn)行監(jiān)聽對(duì)對(duì)象進(jìn)行監(jiān)聽對(duì)對(duì)象某一個(gè)屬性監(jiān)聽監(jiān)聽自定義指令全局指令,第一個(gè)參數(shù)是指令名,第二個(gè)參數(shù)是一個(gè)對(duì)象,對(duì)象內(nèi)部有個(gè)的函數(shù),函數(shù)里有這個(gè)參數(shù),表示綁定了這個(gè)指令的元素。 11.vue 虛擬DOM的理解 Web界面由DOM樹(樹的意思是數(shù)據(jù)結(jié)構(gòu))來構(gòu)建,當(dāng)其中一部分發(fā)生變化時(shí),其實(shí)就是對(duì)應(yīng)某個(gè)DOM節(jié)點(diǎn)發(fā)生了變化,??...

    Sanchi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<