Vue全局事件总线(任意组件间通信)
【摘要】 建议使用这种方便快捷Vue 消息订阅与发布 (任意组件间通信) 父传子使用使用props全局事件总线比较适用于 子 传递 父亲 安装全局事件总线new Vue({ render: h => h(App), beforeCreate() { Vue.prototype.$bus = this //挂载到VC }}).$mount('#app')beforeCreate 生...
建议使用这种方便快捷
Vue 消息订阅与发布 (任意组件间通信)
父传子使用
使用props
全局事件总线比较适用于 子 传递 父亲
安装全局事件总线
new Vue({
render: h => h(App),
beforeCreate() {
Vue.prototype.$bus = this
//挂载到VC
}
}).$mount('#app')
beforeCreate 生命周期:无法通过VM访问data数据 和 methods 方法 生命周期的第一个函数
定义事件总线
$emit:定义
$on:接收使用
发送者:
<button @click="snedData()">登录传递用户名</button>
snedData() { this.$bus.$emit('send', 666, 'dpc') }
调用事件总线
$on:接收使用
接收者:
created() { this.getData() },
methods:
{
getData() {
this.$bus.$on('send', (data, str) =>
{
console.log(data, str)
})
}
},
销毁事件总线
使用完后销毁,不妨碍其他组件的使用
beforeDestroy:销毁之前
beforeDestroy() {
this.$bus.$off('send')
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)