为什么下面这段js代码会报, function not found的错误呢?

vuex代码如下

export default {
    data () {
        return {
            content: ''
        };
    },
    methods: {
        onKeyup (e) {
            if (e.ctrlKey && e.keyCode === 13 && this.content.length) {
                this.sendMessage(this.content);
                this.content = '';
            }
        },
        sendMessage (content) {
            store.dispatch('sendMessage', content);
        }
    }
};

执行到onKeyup 的时候, 提示Uncaught TypeError: this.sendMessage is not a function
, 是不是我哪里写错了, 我还没看出来。 。 。 看出来的给指教一下哈, 多谢。

阅读 3.3k
3 个回答

1楼正解
一般来说用vuex的写法应该是
sendMessage (content) {

this.$store.dispatch('sendMessage', content);

}

然后在actions里注册 sendMessage 这个方法。
记得不要忘了 mutations.js也要写上

是否注册了sendMessage这个action?

直接sendMessage不就行了干嘛要this.sendMessage?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题