Maison  >  Article  >  interface Web  >  Quelles sont les méthodes pour ajouter de nouvelles propriétés d'objets à la séquence de détection dans Vue ?

Quelles sont les méthodes pour ajouter de nouvelles propriétés d'objets à la séquence de détection dans Vue ?

亚连
亚连original
2018-06-04 16:38:111700parcourir

Ci-dessous, je vais partager avec vous une méthode pour ajouter de nouveaux attributs d'un objet à la séquence de détection dans Vue. Elle a une bonne valeur de référence et j'espère qu'elle sera utile à tout le monde.

Ajouter de nouveaux attributs dans l'objet à la séquence de détection dans Vue

deepCopy(o1, o2) { // 将o2的内容拷贝给data中的o1
   var key, i
   if (o2 instanceof Array) {
    for (i = 0; i < o2.length; i++) {
     if (o2[i] instanceof Array) {
      this.$set(o1, i, [])
      this.deepCopy(o1[i], o2[i])
     }
     else if (o2[i] instanceof Object) {
      this.$set(o1, i, {})
      this.deepCopy(o1[i], o2[i])
     }
     else {
      this.$set(o1, i, o2[i])
     }
    }
   }
   else if (o2 instanceof Object) {
    for (key in o2) {
     if (o2[key] instanceof Array) {
      this.$set(o1, key, [])
      this.deepCopy(o1[key], o2[key])
     }
     else if (o2[key] instanceof Object) {
      this.$set(o1, key, {})
      this.deepCopy(o1[key], o2[key])
     }
     else {
      this.$set(o1, key, o2[key])
     }
    }
   }
   else {
    o1 = o2
   }
}

Parce que Vue ne permet pas l'ajout dynamique du niveau racine attribut de type de réponses, vous devez donc déclarer l'attribut réactif au niveau racine avant d'initialiser l'instance, même s'il s'agit simplement d'une valeur nulle

Si un attribut n'est pas déclaré à l'avance et est ajouté ultérieurement, il ne le sera pas capable de détecter les changements Pour certaines structures fixes, des changements peuvent être détectés. Par exemple, je sais qu'un obj doit avoir les attributs key1 et key2, et je peux les initialiser à l'avance. Si ces choses sont dynamiques, je ne peux pas le dire à l’avance. Si vous l'ajoutez plus tard, vue ne pourra pas détecter le changement.

À ce stade, transmettez simplement la variable que vous avez déclarée dans data et la valeur que vous souhaitez attribuer à cette variable en tant que paramètres dans la fonction

Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère qu'à l'avenir, cela sera utile à tout le monde.

Articles associés :

Comment résoudre le problème selon lequel Vue ne peut pas détecter les changements dans les tableaux ou les objets ?

Comment implémenter les modifications dans les objets de surveillance de la montre et les valeurs correspondantes dans vue

les modifications du routage de la surveillance et regarder les objets de surveillance (tutoriel détaillé)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn