亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

vue深度監(jiān)聽(監(jiān)聽對(duì)象和數(shù)組的改變)與立即執(zhí)行監(jiān)聽實(shí)例

瀏覽:72日期:2022-11-29 09:37:34

1.vue中監(jiān)聽對(duì)象數(shù)據(jù)屬性值的改變,可以使用深度監(jiān)聽

data () { return { form: { status: ’’, cpufrequency: ’’, systemstacksize: ’’, scalabilityclass: ’’ } } }, watch: { form: { // 深度監(jiān)聽 handler(val, oldVal){ console.log(’currentForm’,val, oldVal) // 但是這兩個(gè)值打印出來卻都是一樣的,因?yàn)樗鼈兊囊弥赶蛲粋€(gè)對(duì)象/數(shù)組 }, deep:true } }

注意:我們應(yīng)盡量避免在監(jiān)聽方法中更改當(dāng)前監(jiān)聽對(duì)象的屬性值,以免再次觸發(fā)監(jiān)聽函數(shù)

2.若只監(jiān)聽某個(gè)或部分屬性值的變化,則可以配合計(jì)算屬性computed來解決

data () { return { form: { status: ’’, cpufrequency: ’’, systemstacksize: ’’, scalabilityclass: ’’ } } }, computed: { status() { return this.form.status } }, watch: { status() { console.log(’currentVal’, this.status) } }

當(dāng)然,上面這種方法會(huì)多出一個(gè)計(jì)算屬性,并不是最好的方法,通過查看官方api,其實(shí)還有一種方法:

data () { return { form: { status: ’’, cpufrequency: ’’, systemstacksize: ’’, scalabilityclass: ’’ } } }, watch: { ’form.status’(val, oldVal) { console.log(’currentVal’, val) } }

3.取消監(jiān)聽

var unwatch = vm.$watch(’a’, cb) // 返回一個(gè)取消監(jiān)聽函數(shù)

unwatch() // 取消觀察函數(shù)

4.立即觸發(fā)監(jiān)聽

我們有時(shí)會(huì)有這個(gè)需求,在頁面初始化時(shí)執(zhí)行某個(gè)監(jiān)聽。因此,我們可能會(huì)在 created 中去調(diào)用需要執(zhí)行的監(jiān)聽代碼,但現(xiàn)在我們可以使用 immediate 來實(shí)現(xiàn)這個(gè)功能。

watch: { ’form.status’() { handler(val, oldVal) { // 執(zhí)行一些操作 }, immediate: true } }

補(bǔ)充知識(shí):vue watch監(jiān)聽數(shù)據(jù),新老值一樣?讓其不一樣吧!

我就廢話不多說了,大家還是直接看代碼吧~

data:{ testData:{ dataInfo:{a: ’我是a’,b: ’我是b’ } } }, watch: { testData: { handler: (val, olVal) => { console.log(’我變化了’, val, olVal) }, deep: true } }

如果testData發(fā)生了變化,就會(huì)打印出val,olVal,但是他們打印出來的結(jié)果都是一樣的,因?yàn)閿?shù)據(jù)同源。雖然可以監(jiān)聽到他的變化,但是要比較數(shù)據(jù)差異就不行了。如果想要得到不同的值可以結(jié)合計(jì)算屬性。

data:{ testData:{ dataInfo:{a: ’我是a’,b: ’我是b’ } } }, watch: { testDataNew: { handler: (val, olVal) => { console.log(’我變化了’, val, olVal) }, deep: true } }, computed: { testDataNew() { return JSON.parse(JSON.stringify(this.testData)) } }

以上這篇vue深度監(jiān)聽(監(jiān)聽對(duì)象和數(shù)組的改變)與立即執(zhí)行監(jiān)聽實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 国产成人高清精品免费5388 | 国产在线视频资源 | 一级午夜a毛片免费视频 | 另类国产精品一区二区 | 亚洲人人精品 | 欧美特级黄色片 | 成人国产日本亚洲精品 | 久久久久久免费播放一级毛片 | 在线观看一区二区精品视频 | 欧美午夜免费毛片a级 | 亚洲国产日韩在线 | 亚洲天堂美女视频 | 国产日韩亚洲欧洲一区二区三区 | 亚洲成人在线视频播放 | 免费看黄色的视频 | 亚洲一级片网站 | 欧美色视频免费高清播放 | 2021色噜噜狠狠综曰曰曰 | 一级黄色免费大片 | 精品成人一区二区三区免费视频 | 国产免费播放 | 青青伊人91久久福利精品 | 久久精品无码一区二区三区 | 自拍偷拍视频在线观看 | 亚洲国产成人久久 | 免费一看一级毛片 | 性视频免费视频大全 | 92国产精品| 欧美成人丝袜一区二区 | 欧美黑人与白人做爰 | 九色精品在线 | 午夜影院一区二区三区 | 一级一毛片a级毛片欧美 | 免费福利小视频 | 香蕉草草久在视频在线播放 | 一级片视频免费观看 | 亚洲成人手机在线 | 在线免费观看a级片 | 日韩欧美不卡一区二区三区 | 亚洲欧美日韩高清一区二区三区 | 日本特黄特色高清免费视频 |