事件绑定调用JS函数,但是COUNT的值为什么没有改变? 只能在button处写入 @click="COUNT += 1" 才有用吗?
这样this.data.COUNT+=1。 你只改变了没保存到data
COUNT没有this指向嘛
this.COUNT += 1;
这道题大家已经给出了答案,我们可以接着去探究一下原理。
其实,在初始化组件时,data 中定义的 count 实际上在组件内部是存储在 this._data 上的。
模板渲染的时候访问 this.msg,实际上访问的是 this._data.msg。
Vue.js 2.x 在初始化 data 的时候,做了一层 proxy 代理。
而在 methods 属性内定义的函数,函数内部的 this 是指向当前的 Vue 实例本身的,因此可以使用 this.xxx 的形式来访问或者修改数据。
Vue 也将 methods 里的方法也进行了代理,可以像上面我们访问数据那样来调用方法。
比如你再定义一个方法 open ,调用它的时候可以通过 this.open() 进行调用。