关于vuex和mixin设计的问题
来源:4-7 字号设置功能实现
godlanbo
2020-07-06
- 这样在组建中大量的依赖全局状态来进行组件的管理,会不会有点使得组件的解耦程度降低了,虽然代码复用上去了,但是感觉组件使用vuex的状态过多,导致组件不够独立化。
- 还有就是像这样把全部的状态都放在一个mixin中,所有组件都混入的设计模式,会不会不太好啊,还是说老师做项目的经验大多都是这样设计的。因为vue官网文档上都提及,尽量避免使用全局混入,这样将整个一份mixin的混入到多数组件中,会不会有些性能上的问题(毕竟不是每个组件都能用到这份mixin中的全部内容)
若是有这样设计的理由或是项目大多都这样设计的,还望老师指教。
写回答
1回答
-
同学你好,首先vuex就是用来做状态管理的,解决组件之间同一状态的共享问题,在项目中存在这大量的组件共享状态的问题,如果我们将状态交由组件传递的话会产生大量的代码,阅读和修改就会需要时间,其次使用mixin是提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。,vue官网文档上都提及,尽量避免使用全局混入这是因为它会影响每个单独创建的 Vue 实例,我们在项目中所使用的是局部混入的方式,只是将组件间公共代码抽离成一个单独的文件,减少代码冗余,关于性能这点你可以将mixin中的公共方法做一下处理,在使用时引入不同的文件,如果不能解决你的问题,可以继续追问。
012020-07-06
相似问题