公共的方法
//定义一个空对象来存储订阅者
const initlist={
}
const $on=(eventname,callback)=>{
if(!initlist[eventname]){
initlist[eventname]=[]
}else{
initlist[eventname].push(callback)
}
}
const $emit=(eventname,params)=>{
if(initlist[eventname]){
let arr=initlist[eventname]
arr.forEach(item=>{
item(params)
})
}
}
export default {
$emit,
$on
}
发送
<button onClick={oncli}>给兄弟组件发送数据</button>
const oncli = () => {
observe.$emit('hand', cli)
}
接收
useEffect(()=>{
bind()
},[])
const bind=()=>{
observe.$on('hand',(val)=>{
console.log(val,'555')
})
}