Vue: $ vm. $ delete ('object.key') не работает

Созданный на 1 авг. 2016  ·  3Комментарии  ·  Источник: vuejs/vue

Версия Vue.js

1.0.26

Ссылка на воспроизведение

http://jsbin.com/cavadiwosi/1/edit?html , js, консоль, вывод

Действия по воспроизведению

$vm.$delete('object.key')

Что ожидается?

$vm.object.key не должно существовать
$vm.$set('object.key', value) вроде работает нормально

Что на самом деле происходит?

$vm.object.key не меняется

Самый полезный комментарий

$set и $delete в новой версии устарели. Вместо этого используйте Vue.set и Vue.delete .

toggleRow: function(row) {
  key = row.id
  if (this.selectedRows[key]) {
    console.log('deleteRow: ', key)
    Vue.delete(this.selectedRows, key)
  }
  else {
    Vue.set(this.selectedRows, key, row)
  }   
}

Все 3 Комментарий

$set и $delete в новой версии устарели. Вместо этого используйте Vue.set и Vue.delete .

toggleRow: function(row) {
  key = row.id
  if (this.selectedRows[key]) {
    console.log('deleteRow: ', key)
    Vue.delete(this.selectedRows, key)
  }
  else {
    Vue.set(this.selectedRows, key, row)
  }   
}

Обратите внимание, что API поддерживает только удаление собственных ключей виртуальной машины. Кроме того, предпочитайте Vue.delete.

@kingdaro vm. $ set и $ vm.delete не кажутся устаревшими в актуальной версии 2.x https://vuejs.org/v2/api/#vm-set :)

Была ли эта страница полезной?
0 / 5 - 0 рейтинги