问题:在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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐