<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Vue 学习</title> <script type="text/javascript" src="vue.js"></script> </head> <body> <div id="root"> <h1 v-on:click="handleClick">{{content}}</h1> </div> <script type="text/javascript"> new Vue({ el: "#root", data: { content: "Hola" }, methods: { handleClick: () => { this.content = "Suremotoo"; } } }); </script> </body> </html>
注意,不应该使用箭头函数来定义 method 函数 (例如 plus: () => this.a++)。理由是箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向 Vue 实例,this.a 将是 undefined。
Sorry,我找到问题了,将以下代码替换
handleClick: () => { this.content = "Suremotoo"; }
handleClick: function() { this.content = "Suremotoo"; }
看来不会es6的不要随便用。