vue-apollo-model
一个基于Vue.js状态管理方案
2,213
| Install | |
|---|---|
npm install vue-apollo-model@0.8.2 |
|
| Latest Version: | 0.8.2 |
| Vue: | 2 |
| License: | MIT |
| Last Updated: | Aug 30, 2023 |
| Links: | npm |
Maintainer: skyline0705
vue-apollo-model
一个基于Vue.js状态管理方案
注意,项目目前还处于探索期,标记为
beta的功能请谨慎使用
为什么不采用vue-apollo
vue-apollo是Akryum所编写的出色框架,能够将GraphQL无缝集成进Vue.js。
然而对于状态管理方案来说,我们更倾向于将状态管理抽离出来管理,而非与组件耦合。 但是又不满足于Vuex/Redux等将状态完全抽离成全局状态管理。
在一个Web应用中,会同时存在全局状态与局部状态两种,前者生命周期贯穿于整个应用,而后者生命周期依赖于具体的某个业务组件。
故经过多次尝试后,我们推出了自己的基于GraphQL与Observable的状态管理方案。
在2018 Vue Conf Hangzhou上,有一部分关于此框架雏形的介绍,如有兴趣请移步至这里观看再谈Vue SSR -- 响应式数据流在快手游戏直播中的应用
特点
- 状态管理尽可能声明式
- 生命周期与组件生命周期一致,Model的生命周期取决于所绑定的到的组件
- 适配Vue SSR模式,使开发者尽可能少的思考CSR与SSR模式下的状态管理区别
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.8.2 | ^2.6.0 | MIT | |
| 0.8.1 | ^2.6.0 | MIT |
Pre-releases (42)
| Version | Released | Vue | License |
|---|---|---|---|
| 0.10.2-alpha6 | ~2.7.0 | MIT | |
| 0.10.2-alpha5 | ~2.7.0 | MIT | |
| 0.10.2-alpha4 | ~2.7.0 | MIT | |
| 0.10.2-alpha3 | ~2.7.0 | MIT | |
| 0.10.2-alpha2 | ~2.7.0 | MIT | |
| 0.10.2-alpha1 | ~2.7.0 | MIT | |
| 0.10.1-alpha6 | ~2.7.0 | MIT | |
| 0.10.1-alpha5 | ~2.7.0 | MIT | |
| 0.10.1-alpha4 | ~2.7.0 | MIT | |
| 0.10.1-alpha3 | ~2.7.0 | MIT | |
| 0.10.1-alpha2 | ~2.7.0 | MIT | |
| 0.10.1-alpha1 | ~2.7.0 | MIT | |
| 0.10.0-alpha5 | ~2.7.0 | MIT | |
| 0.10.0-alpha4 | ^2.7.0-beta.2 | MIT | |
| 0.10.0-alpha3 | ^2.7.0-beta.2 | MIT | |
| 0.10.0-alpha1 | ^2.7.0-beta.2 | MIT | |
| 0.9.2-alpha6 | ~2.6.0 | MIT | |
| 0.9.2-alpha5 | ~2.6.0 | MIT | |
| 0.9.2-alpha4 | ~2.6.0 | MIT | |
| 0.9.2-alpha3 | ~2.6.0 | MIT | |
| 0.9.2-alpha2 | ~2.6.0 | MIT | |
| 0.9.2-alpha1 | ~2.6.0 | MIT | |
| 0.9.1-alpha3 | ~2.6.14 | MIT | |
| 0.9.1-alpha1 | ~2.6.14 | MIT | |
| 0.9.0-alpha17 | ~2.6.12 | MIT | |
| 0.9.0-alpha16 | ~2.6.12 | MIT | |
| 0.9.0-alpha15 | ^2.6.12 | MIT | |
| 0.9.0-alpha14 | ^2.6.12 | MIT | |
| 0.9.0-alpha13 | ^2.6.12 | MIT | |
| 0.9.0-alpha12 | ^2.6.12 | MIT |
Showing the latest 30 of 42. See every release on npm