本文为大家分享了vuejs事件中心管理组件间的通信,供大家参考,具体内容如下
事件中心
这个可以是一个空的全局的Vue实例,其他的组件利用这个实例emit和on自定义事件,这样组件定义了自己的事件处理方法。
事件监听和注销监听
事件监听应在更组件的created钩子函数中进行,在组件销毁前应注销事件监听
//get init data
var that =this;
axios.get('issue/index')
.then(function (resp) {
that.issue_list=resp.data;
});
},beforeDestroy: function () {
window.eventHub.$off('switchComments');
window.eventHub.$off('removeIssue');
window.eventHub.$off('saveComment');
window.eventHub.$off('removeComment');
}
var that =this;
axios.get('issue/index')
.then(function (resp) {
that.issue_list=resp.data;
});
},beforeDestroy: function () {
window.eventHub.$off('switchComments');
window.eventHub.$off('removeIssue');
window.eventHub.$off('saveComment');
window.eventHub.$off('removeComment');
}
子组件的emit事件,注意这里用的window.$emit而不是this.emit
Note: 这其实还不是最理想的通信方式,下一篇我们看看vuex怎么玩