我面临一个奇怪的问题。问题是我正在尝试更新属性,但收到错误消息。错误如下:
vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in v-on handler: "TypeError: Cannot set property 'message' of undefined"
found in
---> <App> at src/App.vue
<Root>
warn @ vue.runtime.esm.js?2b0e:619
logError @ vue.runtime.esm.js?2b0e:1884
globalHandleError @ vue.runtime.esm.js?2b0e:1879
handleError @ vue.runtime.esm.js?2b0e:1839
invokeWithErrorHandling @ vue.runtime.esm.js?2b0e:1862
invoker @ vue.runtime.esm.js?2b0e:2179
original._wrapper @ vue.runtime.esm.js?2b0e:6911
vue.runtime.esm.js?2b0e:1888 TypeError: Cannot set property 'message' of undefined
at VueComponent.recognize (App.vue?234e:42)
at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854)
at HTMLButtonElement.invoker (vue.runtime.esm.js?2b0e:2179)
at HTMLButtonElement.original._wrapper (vue.runtime.esm.js?2b0e:6911)
我的 App.vue 看起来像这样。
<template>
<div id="app">
<button v-on:click="recognize">recognize</button>
<textarea v-model="message" placeholder="add multiple lines"></textarea>
</div>
</template>
<script>
export default {
name: 'app',
data: function() {
return {
message: 'Hello!'
};
},
created: function () {
// Here it prints the this.message without issue.
console.log('a is: ' + this.message)
},
methods: {
recognize: () => {
this.message = "123 test"
}
}
}
</script>
我确实使用created
生命周期事件检查了消息属性。我能够访问生命周期this.message
中的created
事件。但是当我在方法中使用它时就会出现问题recognize
。在这里找不到我声明的变量。
任何帮助或指导将不胜感激。
谢谢你。