Vue: $vm.$delete('object.key') ne fonctionne pas

Créé le 1 août 2016  ·  3Commentaires  ·  Source: vuejs/vue

Version de vue.js

1.0.26

Lien de reproduction

http://jsbin.com/cavadiwosi/1/edit?html ,js,console,output

Étapes à reproduire

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

Qu'est-ce qui est attendu ?

$vm.object.key ne devrait pas exister
$vm.$set('object.key', value) semble fonctionner correctement

Que se passe-t-il réellement ?

$vm.object.key ne change pas

Commentaire le plus utile

$set et $delete sont obsolètes dans la nouvelle version. Utilisez plutôt Vue.set et 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)
  }   
}

Tous les 3 commentaires

$set et $delete sont obsolètes dans la nouvelle version. Utilisez plutôt Vue.set et 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)
  }   
}

Notez que l'API ne prend en charge que la suppression des propres clés de la machine virtuelle. Aussi, préférez Vue.delete.

@kingdaro vm.$set et $vm.delete ne semblent pas être obsolètes dans la version actuelle 2.x https://vuejs.org/v2/api/#vm-set :)

Cette page vous a été utile?
0 / 5 - 0 notes