欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一次Vue中computed沒有觸發(fā)的原因以及排查經(jīng)歷

 更新時(shí)間:2023年11月16日 10:26:43   作者:WaqarLeaver  
這篇文章主要介紹了一次Vue中computed沒有觸發(fā)的原因以及排查經(jīng)歷,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

computed沒有觸發(fā)的原因排查經(jīng)歷

vue中computed計(jì)算屬性可以用來綁定動態(tài)變量,而且它可以實(shí)時(shí)刷新,并且也可以在watch中監(jiān)控,所以本人很喜歡用這個(gè)東西,一般把需要隨data中變量一起變化的屬性全部放在這里面,data中只定義互相獨(dú)立互相不影響的變量,這樣可以極大地減少重復(fù)變量的定義,使代碼結(jié)構(gòu)清晰,也便于排查錯(cuò)誤。

最近出現(xiàn)了一個(gè)問題

就是我在computed中定義的一個(gè)動態(tài)變量沒有在相關(guān)屬性發(fā)生變化后觸發(fā)更新。

代碼如下:

data(){
	return {
		model:{
			name:"test"
		}
	}
}

computed:{
	lonexist:function(){
		return this.model.lon!=null;
	}
}

method:{
	changelon(){
		this.model.lon="123";
	}
}

以上只是簡化代碼,目的是說明問題,然后我在一個(gè)button的click事件中綁定changelon方法,點(diǎn)擊button后lonexist計(jì)算屬性并沒有被觸發(fā)。

原因是

model初始化時(shí)沒有這個(gè)屬性,解決方法是在model的初始化方法中添加這個(gè)屬性就可以了:

data(){
	return {
		model:{
			name:"test",
			lon:null
		}
	}
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

最新評論