2016-02-07 27 views
7

Mam aplikację przy użyciu vue.js. Generuję listę wyników za pomocą v-for w tablicy obiektów. po zaktualizowaniu obiektu wewnątrz n-tego elementu w tablicy przy użyciu podkreślenia _.rozszerzenie widok projektu nie jest aktualizowany. Jest rozwiązanie tego problemu w http://vuejs.org/guide/reactivity.html co wskazuje użycie _.extend tak:Problem z reaktywnością Vue js podczas aktualizowania obiektów wewnątrz tablicy używanej w v-dla

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

ale problemem jest to, kiedy używam przedłużyć jak to powiedział, że nie aktualizuje widok.

+0

Brak wystarczających informacji, aby dowiedzieć się, co jest nie tak. Czy możesz odtworzyć to w skrzypcach? –

Odpowiedz

8

Vue nie może wykryć zmiany po ustawieniu nowego elementu według indeksu tablicy. Aby obejść ten problem, można użyć metody $set(), którą Vue dodaje do tablicy.

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

Więcej informacji here.

+1

Oto [jsfiddle] (https://jsfiddle.net/asemahle/0joa6gro/) demonstrujące użycie. $ Set – asemahle