2017-07-04 4 views
1

Ich habe zwei Vuex Speichermodule: ListItems und ListSort. ListItems hat einen Getter, der im Wesentlichen aus dem Zustand dieser beiden Module berechnet wird. Siehe unten stehenden Code:(VueJS) Vuex Getter sollte basierend auf einem anderen Modulzustandswechsel aktualisiert werden

// Import the ListSort store module 
import listSort from './list-sort'; 

// ListItems getters 
const getters = { 
    companiesSorted:() => { 
    return _.orderBy(state.companies, 
     [listSort.state.sortAttribute], 
     [listSort.state.sortDirection]); 
    }, 
}; 

Wenn jedoch der Zustand, in ListSort geändert wird (d.h. sortAttribute oder sortDirection werden geändert), ist dies nicht verursacht das Listitem neu zu berechnen gettern. Wie kann ich Vuex mitteilen, dass Vuex den Getter neu berechnen sollte, wenn eine Abhängigkeit zur Berechnung companiesStored sich geändert hat?

Danke!

Antwort

2

Wie kann ich Vuex sagen, dass zu Berechnung einer Abhängigkeit gegeben companiesStored geändert hat, Vuex dass Getter neu berechnen sollte?

Sie nicht, es ist automatisch für Sie getan! Ist Vue nicht großartig für faule Entwickler?

Das einzige JS-Modul, das ein Vuex-Modul importieren soll, ist das JS-Modul, das Vuex initialisiert, bis new Vuex.Store, das die Vuex-Module zusammenfasst.

Vuex Modul Getter haben Zugriff auf ihre lokalen state, und die rootState. Über die rootState greifen Sie auf die Daten anderer Module zu.

https://vuex.vuejs.org/en/modules.html#module-local-state

Es ist etwas sollte wie folgt aussehen:

companiesSorted: (state, getters, rootState) => { 
    return _.orderBy(state.companies, 
     [rootState.listSortModule.sortAttribute], 
     [rootState.listSortModule.sortDirection]); 
    }, 

Wo listSortModule den Namen, den Sie an das Modul gegeben ist.

Verwandte Themen