为了账号安全,请及时绑定邮箱和手机立即绑定

computed计算属性相关问题


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;

}

}

})

这个例子中为啥,在控制台直接改变了str的值后,msg1中str的值没有变化,当,改变another或者msg的时候,str的内容变了,这个str不是data数据当中的值啊

正在回答

2 回答

楼上的同学正解,vue的computed计算属性,会监听自己所管理的data中的属性的变化,而在自己管理以外的变量的变化是不会去监听的。

参考 :计算属性和侦听器

0 回复 有任何疑惑可以回复我~

str并不在data中,str的值发生改变不会影响computed,只有data中的值发生改变的时候,computed才会重新计算,然后渲染页面,所有显示出来的str的值是你在控制台中改变后的值


2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

computed计算属性相关问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信