Oct 21, 2019 in Vue.JS

What are the caveats of array changes detection?

1 Answer

0 votes
Oct 21, 2019

Vue cannot detect changes for the array in the below two cases,

  1. When you directly set an item with the index,For example,
    vm.todos[indexOfTodo] = newTodo
  2. When you modify the length of the array, For example,
vm.todos.length = todosLength

You can overcome both the caveats using set and splice methods, Let's see the solutions with an examples,

First use case solution

// Vue.set
Vue.set(vm.todos, indexOfTodo, newTodoValue)
// Array.prototype.splice
vm.todos.splice(indexOfTodo, 1, newTodoValue)

Second use case solution


Related questions

0 votes
Oct 21, 2019 in Vue.JS
0 votes
Oct 7, 2019 in Vue.JS