lzxb / vuet

允许你定义飙车过程的集中式状态管理模式
MIT License
422 stars 74 forks source link

规则reset后,不再触发once #23

Closed ccfish86 closed 4 years ago

ccfish86 commented 4 years ago

在字典画面设置reset:['dict'], 然后返回业务画面时,once:['dict']没有重新触发。

按照常理,rest后,不应该把'dict'重置为最初状态嘛?

lzxb commented 4 years ago

image 可以先看下这里的描述。

ccfish86 commented 4 years ago

一直没有找到替代vuet的方案,所以一段时间内还是会用vuet来配合vue2。 内置的规则可能不太符合吧,所以自己定义了一个。

谢谢 @lzxb 还在回复,

// reload rule
const NAME = '__once__'

export default {
  rule ({ path }) {
    // 传入当前模块的路径,返回一个mixin来注入到组件中。执行Vuet的mapRules方法时会调用
    return {
      beforeCreate () {
        // 用路径,取得当前的模块
        // const vtm = this.$vuet.getModule(path)
        // 然后调用一次模块的fetch方法
        // vtm.fetch()
      },
      destroyed () {
        // 处理once加载的模块
        const vuet = this.$vuet
        if (vuet[NAME].includes(path)) {
          vuet.getModule(path).fetch()
        }
      }
    }
  }
}
lzxb commented 4 years ago

哈哈,666。我现在的项目已经不用vuet了,但是如果有需要的话,我还是愿意维护的。 现在公司的业务都是使用Tms作为状态管理了:https://github.com/FollowmeTech/tms 已经支持近千万级的访问量业务。