7

Ich habe eine Anwendung mit vue.js verwendet. Ich erstelle eine Liste von Ergebnissen mit v-for in einem Array von Objekten. Wenn ich das Objekt innerhalb des n-ten Elements im Array unter Verwendung von Unterstrich _.extend aktualisiere, wird die Ansicht des Projekts nicht aktualisiert. Es gibt eine Lösung für dieses Problem bei http://vuejs.org/guide/reactivity.html, die wie folgt zu verwenden _.extend zeigt:Vue js Reaktivität Problem beim Aktualisieren von Objekten innerhalb Array in V-für

this.results.displayed[key] = _.extend({}, this.results.displayed[key], detail.items); 

aber das Problem ist, wenn ich verlängern verwenden, wie es heißt, es ist die Sicht nicht aktualisieren.

+0

Es gibt nicht genug Informationen, um herauszufinden, was falsch ist. Kannst du das in einer Geige nachbauen? –

Antwort

8

Vue kann die Änderung nicht erkennen, wenn Sie ein neues Objekt nach Array-Index festlegen. Um dies zu umgehen, können Sie die Methode $set() verwenden, die Vue zum Array hinzufügt.

var newObject = _.extend({}, this.results.displayed[key], detail.items); 
this.results.displayed.$set(key, newObject); 

Weitere Informationen here.

+1

Hier ist ein [jsfiddle] (https://jsfiddle.net/asemahle/0joa6gro/), der die Verwendung von. $ Set demonstriert – asemahle

Verwandte Themen