Ist es möglich, eine Variable von einem Filter zu übernehmen und den Filter zu aktualisieren, wenn sich dies ändert? Wie in einer berechneten Eigenschaft?Vue 'berechnete' Filter
Ich bin zu wollen, um etwas zu tun:
Vue.filter('t', function(val) {
return this.currentLanguage[val];
});
und haben die Filter die Vorlage neu kompilieren, wenn this.currentLanguage
Änderungen.
Offensichtlich kann ich einen zusätzlichen Parameter übergeben, aber ich möchte dies nicht für jede Zeichenfolge tun müssen.
Mein Code funktioniert beim Umschalten von Komponenten, also gibt es alternativ eine Möglichkeit, eine Neukompilierung zu erzwingen? Ich verwende vue-router
, aber
this.$route.router.go({
path: this.$route.router.path,
query: {
t: + new Date()
}
})
}
leider löst keine erneute Kompilierung.
Können Sie das Problem in größerer Tiefe zu erklären? Ich habe hier eine [JSFiddle] (https://jsfiddle.net/asemahle/qzuyxqq7/) gemacht, wo der Filter von einer externen Variable abhängt. Es funktioniert ohne Problem. – asemahle
Ah richtig, ich verstehe. Ich glaube mein Problem ist, dass ich meinen Übersetzer als Plugin benutze, mit 'Vue.use (Übersetzer)'. Daher wird in meinem Übersetzer die "this.currentLanguage" nicht beobachtet, da es nur eine einfache Eigenschaft eines Objekts ist und nicht in den Vue-Daten. – SteveEdson
Es wäre viel einfacher zu helfen, wenn Sie runable Code zur Verfügung stellen, der dieses Verhalten demonstrierte. [MCVE] (http://stackoverflow.com/help/mcve) Typ Zeug ist immer großartig – asemahle