Vue js reactivity issue when updating objects inside array used in v-for

Vue is unable to detect the change when you set a new item by array index. To get around this, you can use the $set() method that Vue adds to the array.

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

More info here.


I solved my problem of items in v-for not updating, by making sure that the tag containing the v-for was wrapped by a tag.

It had been wrapped in a v-ons-list. And I could imagine some people wrapping it in a div tag. This is a quick possibility to eliminate before trying all the other more complicated solutions out there.