问题:在vue的js里面,让data中的数据如何从data中取值/改变值?

解决如下:
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所指对象了


已完成。希望我能帮到您!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐