Blu*_*360 23 vue.js vuex vuejs2
我习惯使用全局事件总线来处理跨组件方法.例如:
var bus = new Vue();
...
//Component A
bus.$emit('DoSomethingInComponentB');
...
//Component B
bus.$on('DoSomethingInComponentB', function(){ this.doSomething() })
Run Code Online (Sandbox Code Playgroud)
但是,我正在建设一个需要全球国家管理的大型项目.当然,我想使用Vuex.
虽然这种总线模式适用于Vuex,但似乎是错误的.我已经看到Vuex被推荐作为这种模式的替代品.
有没有办法在Vuex中运行组件中的方法?我该怎么做呢?
Sau*_*abh 24
Vuex和事件总线是两个不同的东西,因为vuex管理应用程序的中心状态,而事件总线用于在应用程序的不同组件之间进行通信.
您可以从组件执行vuex变异或操作,还可以从vuex的操作中引发事件.
正如文档所说:
行为类似于突变,区别在于:
- 行动不是改变状态,而是提交突变.
- 动作可以包含任意异步操作.
因此,您可以通过总线从操作中引发事件,并且可以从任何组件方法调用操作.
| 归档时间: |
|
| 查看次数: |
18437 次 |
| 最近记录: |