鍍金池/ 問答/HTML/ Vuex: 怎樣在父子模塊間傳遞信息?

Vuex: 怎樣在父子模塊間傳遞信息?

假設(shè)我有一個這樣結(jié)構(gòu)的Vuex store:

window.st = new Vuex.Store({
  modules: {
    people: {
      namespaced: true,
      state: { name: "user" },
      mutations: {
        name: (state, value) => (state.name = value)
      },
      modules: {
        age: {
          namespaced: true,
          state: { value: 0 },
          mutations: {
            value: (state, value) => (state.value = value),
            // if name changes, reset age value
            ["???"]: state => (state.value = 0)
          }
        },
        gender: {
          namespaced: true,
          state: { value: "unknown" },
          mutations: {
            value: (state, value) => (state.value = value),
            // if name changes, reset gender value
            ["???"]: state => (state.value = "unknown")
          }
        }
      }
    }
  }
});

Fiddle(請按F12,result frame,window.st): https://jsfiddle.net/liqi0816...

root
 people: { name }
  age: { value }
  gender: { value }

這個結(jié)構(gòu)實際上存在依賴,agegender依賴于people。如果people變了的話,agegender至少要重置到未初始化的狀態(tài)?,F(xiàn)在的問題就是,上面代碼中"???"的地方該怎么寫呢?試了一下../這樣的寫法,并不支持。

這是一個簡化了的問題,實際項目中的agegender都很龐大,所以沒法取消namespaced……還是說本來就不應(yīng)該用module?

再進(jìn)一步,如果people是動態(tài)注冊上來的,沒法預(yù)先知道people的路徑名的話,又該怎么做?

謝謝大家

回答
編輯回答
短嘆

父子模塊間傳遞信息間為什么要用vuex

2017年5月16日 17:02