vue框架的文本插值改变,纯小白迷惑不解

事件绑定调用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() 进行调用。