"重新装入" vue js组件

时间:2018-03-13 13:00:49

标签: javascript laravel websocket vue.js vuejs2

我不太熟悉Vue.js或前端所以也许我想要实现的不是正确的方法,但这是我的情况:

   mounted() {
        this.newMessages();
        this.scrollDown();
    },
    updated() {
        // prop gets updated from parent component, newMessages method depends on it
        this.$options.mounted = [
            this.newMessages(),
        ];
        this.scrollDown();
    },
    methods: {
        newMessages() {
            // logic, uses prop thread.id passed to component, needs to be initiated on mount
        },
        scrollDown() {
            // logic
        },
    },

问题是:我如何"重新安装" Vue.js挂载组件中的方法,如果更新的挂钩会触发吗?

现在,发生了什么,newMessages方法通过websockets进行广播。它使用名为线程(该对象的 id 属性)的道具来侦听特定频道。

现在,当父组件更改prop(线程)时,组件的DOM会更改以显示来自该线程的消息,但该侦听器方法仍会侦听错误的通道。

我尝试了$ options来重置挂钩,但是只堆叠了挂载的方法,并多次获得相同的消息。

0 个答案:

没有答案