来自主vue实例的事件自定义事件,从组件中侦听

Jpl*_*us2 4 vue.js

这里vue js很新,

只想知道是否可以从主vue实例(父级)发出自定义事件,组件可以侦听该自定义事件并在触发该事件时采取相应措施?

我想在vue实例挂载的生命周期函数上触发自定义事件,然后所有组件都可以自己初始化.

恩.

主要vue实例

new Vue( {
    el : '#main-app',
    mounted : function() {
       this.$emit( 'init-app' );
    }
} );
Run Code Online (Sandbox Code Playgroud)

然后在各种组件上,它可以监听'init-app'自定义事件,然后在触发或发出时相应地执行操作.

不知道如何在vue js中执行此操作事件监听器附加到html标签?可以通过仅从父级发出事件来触发事件监听器或组件中的功能吗?

注意:我使用的是vue js 2.0.3,我的组件是全局的,它们不是内联的

恩.

Vue.component('my-component', {
   template: '#component-template'
});
Run Code Online (Sandbox Code Playgroud)

我可以稍后添加更多组件.

提前致谢.

Man*_*ani 5

初始化子组件的正确方法是created:为每个子组件使用生命周期钩子.

原因:当您init-app从父组件发送事件时,很可能无法实例化您的子组件.所以,它永远不会被初始化.

有关事件的附加说明:如果要将子组件发送到父组件,则应在父组件上使用this.$parent.$emit("my-event-code")和接收事件this.$on("my-event-code").经过几个小时尝试各种方法后,我最近想出来了.

因此,如果您尝试将init-app事件从父级发送到子级,您可能必须监听子组件this.$parent.$on("init-app", ...)- 我还没有验证这一点,这是我目前的理解.