Vue中使用mounted时,无法获取到data的原因是,this无法指向data中的数据。在mounted生命周期中this指向的是window对象而不是Vue对象,所以真正找的是window对象下的data,但是window下没有data,所以就报错了。
解决办法很简单,把指向vue对象保存给一个变量that,在后面引用that来修改数据即可。
问题展示
data(){
'name':"潘某人seo"
},
mounted(){
console.log(this.name)
}
2
3
4
5
6
运行结果会发现无法获取到‘name’,因为mounted是从window上获取“name”;而data是在vue对象上的。
解决方案
data(){
'name':"潘某人seo"
},
mounted(){
var that = this;
console.log(that.name)
}
2
3
4
5
6
7