Ich habe eine Frage, wie Vuex-Reaktivität funktioniert. Ich habe folgendes Geschäft:Vuex-State-Change-Propagation
// state
state: {
database: {
tables: []
}
}
// mutator
ADD_TABLE(state, {table}) {
state.database.tables.push(table);
}
Also, wenn die ADD_TABLE
Mutation geschieht vue Komponenten und die vuex Uhr reagieren nur, wenn das Objekt direkt geändert wird und nicht auf verschachtelte Eigenschaftsänderung reagieren.
Ist dies das gewünschte Verhalten und warum, oder habe ich etwas in meinem Code brechen?
könnten Sie versuchen, Hinzufügen von 'geändert werden könnte {tief: true}' als drittes Argument an Ihre watcher und schau, ob das funktioniert. –
Ja, das funktioniert aber immer noch, ich habe die Beobachter für eine kurze Erklärung hier auf SO hinzugefügt. Im tatsächlichen Code ist es in den Daten/berechneten Eigenschaften gebunden, und die Komponente reagiert nicht auf die Änderung. – korun
So funktionieren Beobachter in Vue. Wenn Sie eine bestimmte Eigenschaft beobachten, ist die Standardeinstellung in Vue eine flache Uhr. Sie müssen eine tiefe Uhr angeben, wenn Sie alles sehen wollen. Könnten Sie ein Beispiel für das tatsächliche Problem geben, dass die Angabe von tief nicht löst? – Bert