为了账号安全,请及时绑定邮箱和手机立即绑定

Vuex是否可以理解成为组件间的通信机制

我类比了一下Vuex与Linux的管道和Websocket,感觉上有一点类似的地方:

-都是有一个共享资源;

-主要包括消息接收与发送两个部分;

ws负责的是服务端与客户端之间的通信,Vuex负责的是Vuex.js与各组件之间的通信。


但是这么一来store里面的对象为什么不是data,而是state,这么想岂不是当成了全局变量;

而且如果只是为了实现在info里面add,在about里面数字++的效果,Vue里面应该有更方便的消息传递机制才对,而不是通过中转来实现。

还请老师和各位热心的朋友们看一下我的理解是否有问题。

正在回答

2 回答

你可以看看vuex的概念,如果把state单纯当成是全局变量是不对的。

1. vuex不单纯是起到了“全局变量”的作用

它加入了单向数据流的机制,所以如果是单纯的全局变量,所有人都能改,那就乱套了不是。

store里面的state,只能通过mutations来改。

而且加入了一些新的特性,比如actions(异步),getters(计算属性),这些在实际的项目中,都是非常好用的。

2. 组件间的通信方式还有很多种,选择合适项目本身的才最重要

0 回复 有任何疑惑可以回复我~

谢谢老师的回复,我弄明白了:

1,action里面是用来写commit的,这些在课程中被写在了组件的函数里,getters相当于computed;

2,Vuex是取代Props这种父子组件传值,且弥补兄弟组件传值手段的方法。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Vuex是否可以理解成为组件间的通信机制

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信