javascript vue自行实现broadcast,dispatch
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript vue自行实现broadcast,dispatch相关的知识,希望对你有一定的参考价值。
function broadcast(componentName, eventName, data) {
this.$children.forEach(child => {
let name = child.$options.name
if (name === componentName) {
// child.$emit.call(child, eventName, data)
child.$emit(eventName, data)
} else {
broadcast.call(child, componentName, eventName, data)
}
})
}
function dispatch(componentName, eventName, data) {
let parent = this.$parent || this.$root
let name = parent.$options.name
while (parent && name !== componentName) {
parent = parent.$parent
if (parent) {
name = parent.$options.name
}
}
if (parent) {
parent.$emit.call(parent, eventName, data)
}
}
export default {
methods: {
broadcast(componentName, eventName, data) {
broadcast.call(this, componentName, eventName, data)
},
dispatch(componentName, eventName, data) {
dispatch.call(this, componentName, eventName, data)
}
}
}
以上是关于javascript vue自行实现broadcast,dispatch的主要内容,如果未能解决你的问题,请参考以下文章
vue-router原理剖析之自行实现router
vue-router原理剖析之自行实现router
vue之自行实现派发与广播-dispatch与broadcast
基于Springboot+vue开发实现自行车租赁管理系统
基于Java+SpringBoot+vue+node.js实现自行车租赁平台管理系统
基于Java+SpringBoot+vue+node.js实现自行车租赁平台管理系统