javascript - 使用vuex时应该把哪些列入数据管理状态?
天蓬老师
天蓬老师 2017-04-11 09:56:08
[JavaScript讨论组]

由1.0迁入2.0时,组件件通信是通过一个单例来实现的。

https://vuefe.cn/v2/guide/mig...和-broadcast-替换

就是有一个单例的store【new Vue()】,然后通过给这个store on绑定事件 emit触发事件来实现组件间的事件通信。此时只需要组件带上一个简单的store.js文件即可

现在想引入vuex,发现如果把大多数状态封在state内其实很不友好,有一些过于简单的事件我并不想放在vuex中,更希望通过on emit的方式来触发。

但是这样不知道会不会不是最佳实践。

举个例子:
父组件A,里面有N个子组件B,子组件B在created的时候会触发A的事件,A就会自动把自己的宽度增长。

把上方这样的组件集的一些数据放入vuex的state感觉有些大材小用,还不如把组件A和B加上一个通过单例空Vue的store.js封装起来。

想知道一般实践过程中会把哪些放入vuex中

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
伊谢尔伦

能够直接通信的就直接通信好了,没问题的。如果一个数据涉及的组件对象之间的兄弟关系,或者一个数据在多于两个组件中使用,或者数据是业务核心数据,那就放到 store 里。

不确定你的业务场景。

我这里举个例子:

在线机票预订系统,乘机人信息会在增值业务购买、价格展示、在线支付等组件中使用,同时这个数据也是业务核心数据,因此就将乘机人数组放到 store 中,而乘机人组件是由一个包装父组件加 单个乘机人信息 的子组件列表构成,包装父组件和子组件之间就直接通过 props 传递单个乘机人数据,没必要再通过 store 传递。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号