【发布时间】:2017-02-25 23:09:26
【问题描述】:
这里是 vue js 的新手,
只是想知道是否可以从主 vue 实例(父级)发出自定义事件,并且组件可以侦听该自定义事件并在触发该事件时采取相应的行动?
我想在 vue 实例 mounted 生命周期函数上触发一个自定义事件,然后所有组件都可以自己初始化。
例如
主 vue 实例
new Vue( {
el : '#main-app',
mounted : function() {
this.$emit( 'init-app' );
}
} );
然后在各个组件上,它可以监听 'init-app' 自定义事件,然后在它被触发或发出时采取相应的行动。
不确定如何做到这一点,因为 vue js 事件侦听器附加到 html 标签?组件中的事件监听器或函数是否可以仅通过仅从父级发出事件来触发?
注意:我使用的是 vue js 2.0.3 而且我的组件是全局的,它们不是内联的
例如
Vue.component('my-component', {
template: '#component-template'
});
我可以稍后添加更多组件。
提前致谢。
【问题讨论】:
-
我想把各个组件的初始化代码放到组件本身,不想放在主vue实例上。
-
您是否正在考虑按照文档中的说明使用 $on 和 $emit?
-
再次,我对 vue js 还是很陌生,您能否根据上面的问题给我一个示例,说明如何实现我想要的?不知道如何实现我想要的,展示一些代码示例真的很有帮助。
标签: vue.js