如何从另一个应用程序访问Vue组件方法?

时间:2019-03-27 09:55:59

标签: javascript vue.js vuejs2 vue-component

我有这段代码可以在纯html / javascript中正常工作,但在vuejs中却无法正常工作。我有一个名为myMethod()的函数。 在javascript控制台中进行调试时,我可以像这样访问它:myMethod(“ toto”)。但是在vuejs中,只能通过以下方式访问:$ vm0.myMethod(“ toto”)。

我绝对需要这样访问它:myMethod(“ toto”)。

在vue中有可能吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

对于非父子关系,则与此关系相同。调用一个方法,显然是从任何其他组件调用一个组件的任何方法。只需将$on函数添加到$root实例,然后调用其他任何访问$root并调用$emit函数的组件即可。

在第一个组件上

    ....
    mounted() {
        this.$root.$on('component1', () => {
            // your code goes here
            this.c1method()
        }
    }

,然后在第二个组件中调用$emit中的$root函数

    ...
    c2method: function(){
     this.$root.$emit('component1') //like this
    },

它的作用更像一个套接字。在这里参考

https://stackoverflow.com/a/50343039/6090215