解决如下:
1、现在是,使用中间变量that即可代替this,并且写成return的形式
data() {
let that = this;
return {
visible: false,
marker: {
visible2: that.visible //取值并且复制
events: {
click() { // 这是一个方法
if (that.visible === true) {
that.visible = false // 改变原来的值
} else {
that.visible = true
}
}
},
}
}
}
2、以前是
data()=>({,
visible: false,
marker: {
visible2: this.visible //取值并且复制
events: {
click() { // 这是一个方法
if (this.visible === true) {
this.visible = false // 改变原来的值
} else {
this.visible = true
}
}
},
}
})
取值失败的原因:使用this的作用域不够,无法直接取值,将会得到一个undefined的值。也就是说:可能是this已经不是那个this了,不再是vue component所指对象了
已完成。希望我能帮到您!