之前一直用new Vue()来定义一个全局通讯的Bus,这样组件之间通讯,只需要一边emit,另一边on监听就可以了。后来改用vuex,感觉上vuex理解上只是一个全局data,当需要派发事件的时候:例如A组件的一个事件,去触发B组件的一个方法(比如说,点击某按钮,取消一个定时器等),这个时候vuex就显得很鸡肋了,我现在用的方法是,定义一个布尔值,每次触发时,取false,然后在组件内watch这个值,调用方法。
如图:
然后监听:
请问大家有好一点的方法吗?
人生最曼妙的风景,竟是内心的淡定与从容!
这个用vuex不是挺好的吗?怎么会显得鸡肋?类似这种,用loginSuccess来控制是否显示用户头像,这样,我觉得用的还是挺愉快的
一、仅仅是想通知某个对象去更改状态,建议使用事件的方式1.父子组件之间的事件通讯,通过在父组件监听对应的事件名,子组件触发的方式。2.非父子组件采用Event Bus的方式
二、数据在组件之间的共享1.中大型应用使用vuex2.应用场景比较少的情况,父子组件采用props,非父子组件Event Bus传递数据
这个用vuex不是挺好的吗?怎么会显得鸡肋?类似这种,用loginSuccess来控制是否显示用户头像,这样,我觉得用的还是挺愉快的
一、仅仅是想通知某个对象去更改状态,建议使用事件的方式
1.父子组件之间的事件通讯,通过在父组件监听对应的事件名,子组件触发的方式。
2.非父子组件采用Event Bus的方式
二、数据在组件之间的共享
1.中大型应用使用vuex
2.应用场景比较少的情况,父子组件采用props,非父子组件Event Bus传递数据