chengdujs / cd-it-job

针对成都IT小伙伴们的工作(招聘,求职)交流的微信订阅号项目。
http://chengdujs.com/cd-it-job/#/
MIT License
69 stars 41 forks source link

SearchPage was completed #23

Closed mabelyong closed 7 years ago

mabelyong commented 7 years ago
hstarorg commented 7 years ago

非常棒的代码,有一点可以探讨一下,job list是否需要存储到vuex中?感觉没有全局存储的必要。

mabelyong commented 7 years ago

我是这样想的,有以下几点

  1. 项目既然引入了vuex,就用他来管理和维护各个模块的状态,相对集中一些
  2. joblist属于业务逻辑相关组件,而非独立的全局组件,放在vuex中管理更方便
  3. 把异步请求统一放到actions感觉更合理一些,也有利于维护
  4. 不同页面和组件之间通信更方便,虽然有全局的event bus,个人据觉得用vuex模块化管理更优雅一些
  5. 这是比较主观的一点,我个人对vuex相对熟悉,所以比较喜欢用vuex来管理

以上纯属自己的观点,如果项目约定的需要,可以修改的,问题不大,重在探讨~!

hstarorg commented 7 years ago

@mabelyong 我是这样考虑的,如果有数据共享需求,用vuex是没问题的。更多的,我是希望页面自治,大概就是页面自己管理自己的数据。在我看来,job list仅仅就在这个页面中使用,所以觉得没必要放到vuex中去。

如果这种数据都存到vuex中,比较容易导致vuex变得很大,这其实也蛮难维护的。

mabelyong commented 7 years ago

@hstarorg 目前是有两个页面使用了job list数据的,首页和搜索列表页面,如果不使用keep-alive组件来保存状态的话,那每切换一次页面,数据怎么缓存呢?我希望是同样的数据,尽可能最大程度的减少请求次数。

hstarorg commented 7 years ago

不考虑缓存数据,每次获取最新的就好。如果缓存,及时性不好,而且如果有分页,也不好处理。

可以先按照当前这样做,先解决下冲突吧。

mabelyong commented 7 years ago

嗯,好的,后面再根据需求做调整。 冲突已解决~~