0

我面临一个奇怪的问题。问题是我正在尝试更新属性,但收到错误消息。错误如下:

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。在这里找不到我声明的变量。

任何帮助或指导将不胜感激。

谢谢你。

4

0 回答 0