computed計(jì)算屬性相關(guān)問(wèn)題
var str = "test))"
var app = new Vue({
el:".app",
data:{
msg:"hellovue ",
another:"goodvue "
},
watch:{
msg:function(newvalue,oldvalue){
console.log("newvalue="+newvalue);
console.log("oldvalue="+oldvalue);
}
},
computed:{
msg1:function(){
return "msg "+this.msg+this.another+str;
}
}
})
這個(gè)例子中為啥,在控制臺(tái)直接改變了str的值后,msg1中str的值沒(méi)有變化,當(dāng),改變another或者msg的時(shí)候,str的內(nèi)容變了,這個(gè)str不是data數(shù)據(jù)當(dāng)中的值啊
2019-03-03
樓上的同學(xué)正解,vue的computed計(jì)算屬性,會(huì)監(jiān)聽自己所管理的data中的屬性的變化,而在自己管理以外的變量的變化是不會(huì)去監(jiān)聽的。
參考 :計(jì)算屬性和偵聽器
2019-03-02
str并不在data中,str的值發(fā)生改變不會(huì)影響computed,只有data中的值發(fā)生改變的時(shí)候,computed才會(huì)重新計(jì)算,然后渲染頁(yè)面,所有顯示出來(lái)的str的值是你在控制臺(tái)中改變后的值