项目地址:https://github.com/twolun/vue-rxjs-starter
意图
-
vue-resource天然返回Promise,这就为我们使用RxJS提供了很好的基础条件,而实际项目中, 大多数业务场景是基于http请求的异步操作,这也是RxJS擅长的地方
-
在项目中抽象出一个service层,来集中处理各种http请求及业务逻辑,
组件级的UI交互、状态变更,还是放在组件内操作 -
完全放弃vuex,使用基于RxJS的service层进行开发,还是比较得心应手的
-
把与组件无关的流尽量放在service里处理,组件相关的在组件内处理
-
最终我们的代码还是很简洁的
最重要的
service采用单例模式,当然实际项目中不经常变的http-result,要做缓存,避免每次请求
状态有状态的好处啊
Vuet也能够很轻松的管理业务中的HTTP请求,天然的支持根据路由变化来更新组件状态 传送门:Vuet地址 你可以看下这篇vuet插件之route:实现简易版vue-cnode,实现列表点击详情返回后显示之前的数据
哈哈,不介意我顺便打个广告吧。Vuet目前正在完善测试,后续还会增加支持还原全局滚动条,局部滚动条的功能
@i5ting 狼叔也关注了,哈哈
这是不是让我感觉到有点像angular的 service?
如果组件之间需要共享状态呢?
service
应该只保留数据请求的部分,把数据请求从组件中抽离出来是一个普遍的做法,但是这并不是VUEX所要解决问题的点。。
楼主项目里面search.service.js
的一些页面交互逻辑如果不是通用的方法放到组件并没有什么问题,如果是通用的逻辑可以另外提取到一个地方,让service
更纯粹。
@178220709 组件的状态应该放在组件里,跟service没关系吧
状态管理里面action不就都相当于service方法么, vue官方全家桶这么简单好用, 你的痛点在哪? vue-resource官方都放弃维护好久了, axios挺好, 前后端都用.