写文章的目的
有一个功能:需要获取当前登录用户的行政区域code,直接在data中使用this,然后发现undefined
代码:
下面展示一些 this的错误使用
。
// An highlighted block
data() {
return {
form: {
regionCode: this.userInfo.detail.regionCode
},
}
}
// An highlighted block
mounted() {
//只能在页面初始化执行方法中赋值,不能在属性上用this方法赋值;原因:data是在构造的时候赋值的,此时this指向的是window,给Vue定义的方法运行时this指向的是Vue对象
console.log(this.form.regionCode);
},
运行时的效果:
下面展示 正确写法
。
// An highlighted block
data() {
return {
form: {
regionCode: 0
},
}
}
// An highlighted block
mounted() {
//只能在页面初始化执行方法中赋值,不能在属性上用this方法赋值;原因:data是在构造的时候赋值的,此时this指向的是window,给Vue定义的方法运行时this指向的是Vue对象
this.form.regionCode = this.userInfo.detail.regionCode;
},
运行效果:
总结:
查找资料时,看到别人的解释。
data是在构造的时候赋值的,此时this指向的是window,Vue定义的方法运行时this指向的是Vue对象。