vue 兄弟间传值bus(总线/订阅模式)
兄弟间传值除了vuex公用变量机制外还有bus总线
在父组件中的多个子组件之间相互传值的原理:
创建一个vue.prototype.bus,因为它是一个全局的vue,所以在任何地方都可以使用它。
还有一点:在vue中子组件不能直接操作父组件传过来的数据,存在单向数据流问题。子组件需要将父组件中的变量独自复制一份,经行数据处理。兄弟组件中的数据也要拷贝
在子组件中创建一个点击事件handleclick;
methods:方法中触发这个事件,调用this.bus.
e
m
i
t
(
c
h
a
n
g
e
,
t
h
i
s
.
s
e
l
t
c
o
n
t
)
事
件
并
携
带
参
数
;
在
生
命
周
期
中
m
o
u
n
t
e
d
中
,
拷
贝
数
据
变
量
独
自
生
成
一
份
,
并
监
听
总
线
b
u
s
,
t
h
i
s
.
b
u
s
emit(change,this.seltcont)事件并携带参数; 在生命周期中mounted中,拷贝数据变量独自生成一份,并监听总线bus,this.bus
emit(change,this.seltcont)事件并携带参数;在生命周期中mounted中,拷贝数据变量独自生成一份,并监听总线bus,this.buson(change,function(msg){this_.selfbus=msg}进行数据处理