项目中如果不用 vuex,有什么其它的替代方案?

回答·52
最热
最新
  • 如果不是大型项目,压根不用采用 vuex,vuex 是使用内存缓存的数据,页面一刷新吧,吧唧数据没了,还得在本地做什么缓存之类的进行配合。 方案就是可以使用 cookie session 来进行缓存简单的数据。 比如以前 没 h5 以前 购物车的数据就是存在 cookie 里面的,存的商品 id,到购物车列表后,再根据 id 拉取数据。
  • 说实在的,我虽然也用 vuex,但是到现在没弄明白为什么要用,多年来写代码,都会先从全局文件开始,所有的状态都处理的很好,用 vuex 也是按照自己以往的思想和习惯,只不过通过 vuex 的方式去处理过程而已
  • 方法茫茫多,找到自己合适的就好 可以自己手写一个 可以用 bus 总线 可以将其堆在 App 上面一起用 $root 来模拟 也可以 mixins 混入 等等等等 不是大型项目真不需要 vuex 的情况下能不用就不用就好啦哈~
  • Vuex 实际上是个体验很差的状态管理方案,它的引入方式和生命周期都不是特别理想。例如:一个公共的复杂组件需要一个 store 来管理状态,当这个公共组件在同个页面被多次使用时就要求这些 store 相互独立,这用 vuex 就很难实现。现在我们项目建议用 bus 管理全局或局部 stote
  • 1.事件总线 2.浏览器缓存 sessionStorage/localStorage 3.mixin 混入 4.provide/inject 提供与注入 …… 其实有很多种方法 得看项目实际场景和需求了 撇开项目谈这些都是虚妄。
  • Vuex 就是 Vue 的全局状态管理方案,存储的数据具备响应式。回答使用本地缓存或者会话缓存来替代它的楼主不考虑一下 Vuex 的响应式特性吗?
  • vue.observe 来初始化响应式对象使用
  • 父传子: props  父传子元素(多层):children parent abc 组件:attrs  listeners 缓存 keep-live localstorage  sessionstorage
  • 可以自己实现一个简单的 store,这个 vue 官方就有介绍 如果需要组件间事件通信,vue3 用 mitt 代替 vue2 的 event bus 父子之间直接通过 emit 捕获 讲真 vuex 我觉得也就是多标签页的时候用用,用来动态修改 keep alive 组件的 cache include exclude 值,实现某个标签页不提交时就保留缓存,提交完成后就清除缓存。
  • localstorage....如果说和 vuex 性质相近的,其实更像是 sessionstroage