2017-02-11 2 views
0

Warum kann dieser einfache Getter in einem Vuex-Modul nicht tun was API reference sagt?Konnte nicht rootState in getter

const getters = { 
    myGetRootState: (state, rootState) => { 
    return rootState 
    } 
} 

Getter über gibt den aktuellen Modulstatus zurück, nicht den Status speichern.

Und diese

const getters = { 
    myGetRootState: rootState => { 
    return console.log(rootState.anyModuleYouWant) 
    } 
} 

Protokolle nicht definiert. Ich habe viele Permutationen des Kontexts ausprobiert und Werte zurückgegeben, ohne Erfolg.

Irgendeine Idee, warum das ist und wie man es tun soll, was beabsichtigt ist?

Antwort

0

Der Modul-Getter benötigt 3 Argumente (Lokaler Status, Getter, Root-Status).

const getters = { 

    myGetRootState (state, getters, rootState){ 
    console.log("rootState.exampleVar = "+ rootState.exampleVar) 
    return rootState.exampleVar 
    } 
} 

Verwendung in einer Vue Instanz Komponente:

computed: { 
    myGetRootState: function(){ 
      return this.$store.getters.myGetRootState 
     } 
} 

Sie brauchen nicht das Modul in Ihrer Vue Instanz angeben.