Ich habe eine Situation, wo, wenn ich auf eine Route navigieren, meinen berechnete Eigenschaft Updates und aktualisiere meine Ansicht entsprechend. Wenn ich zu einer anderen Route und zurück wechsle - verliere ich alle meine Daten, die in diesem Bereich zugewiesen sind. Ich verwende created, um diese Variablen zu initialisieren, und navigiere dann zurück, um sie auf einen Null-Zustand neu zu initialisieren.Verständnis von vue-Router und Dateneigenschaften
In meinem berechneten Eigenschaft, ich bevölkern diese (erstellt Variablen) und diese werden in der Ansicht verwendet.
Meine Frage ist - ist die Reinitialisierung normal? Gehe ich das falsch?
created: function() {
this.abc = {};
},
computed: {
myData: function() {
return this.$store.state.myData;
},
setupData: function() {
console.log('only update now!')
var myData = this.myData;
//doSomething that updates this.abc
}
},
watch: {
myData: {
handler: function(newValue) {
this.setupData(newValue);
},
deep: true
}
},
Ja, das ist das erwartete Verhalten. Wenn Sie eine neue Komponente routen, wird diese Komponente erstellt und die Komponente der vorherigen Route wird zerstört. http://jsfiddle.net/yqtgpapd/ – thanksd
@ thanksd So bin ich verwirrt. Wenn ich eine berechnete Eigenschaft habe, die sich entsprechend aktualisiert. Und dann filtere ich aus dieser Eigenschaft bestimmte Kriterien und zeige sie in der Ansicht über eine andere Variable an. Wie gehe ich dabei vor, wenn es jedes Mal gelöscht wird, aber die berechnete Eigenschaft gefüllt ist? – KingKongFrog
Sie haben Ihr Problem nicht ausreichend erläutert oder nicht genügend Code ausgetauscht, um zu wissen, was Sie erwarten und was Sie tatsächlich erleben. Funktioniert die angegebene Antwort nicht für Sie? Bitte erläutern Sie – thanksd