Vue.js devtools不会在挂载中捕获发射

时间:2018-07-06 21:31:22

标签: vue.js vuejs2

似乎当我尝试在挂载中发出事件时,它不会被触发!因此它不会出现在devtools中

main.js

const app = new Vue({
    el: '#app',

    mounted() {
        console.log('asd');
        this.$emit("clicked", "someValue");

    }
});

-

<body>

    <div id="app">

       <h1>vuejs</h1>

    </div>

    <script src="https://unpkg.com/vue@2.5.16/dist/vue.js"></script>
    <script src="main.js"></script>   

</body>

那是为什么?以及我该怎么办?

2 个答案:

答案 0 :(得分:2)

它工作正常-您的console.log输出应为正常,并且您发出的事件没有问题。

不过,在显示的代码中,您尚未设置任何要对发出的事件进行监听的操作...这是一个简单的,人为的示例,说明如何使用{{ 1}}:

this.$on

演示:https://codepen.io/anon/pen/qKeWxJ

答案 1 :(得分:1)

  

在父级的已安装生命周期事件中添加事件处理程序时   对于在儿童的已挂载事件中发出的事件,处理程序   不会捕获孩子发出的事件,因为处理程序是   在孩子已经发出事件之后添加。基本上   事件的周期就是这样。

     

父代创建子代父代创建子代   显然,还有其他生命周期事件发生,但这就是   在这种情况下重要的顺序。

     

如果要处理在孩子中发出的事件,则需要   在孩子的挂载事件之前创建处理程序(调用$ on)。

Is it possible to emit from mounted in Vuejs?