computed计算属性相关问题

来源:2-4 计算属性与侦听器

qq_珍惜青春_0

2019-03-02 11:58


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回答

  • Brian
    2019-03-03 19:30:23

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

    参考 :计算属性和侦听器

  • 慕尼黑9575556
    2019-03-02 18:16:20

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


3小时速成 Vue2.x 核心技术

带你快速学习最流行的前端框架vue2.x的核心技术

82558 学习 · 487 问题

查看课程

相似问题