Maison >interface Web >js tutoriel >Analyse des changements dans les objets et tableaux de détection Vue

Analyse des changements dans les objets et tableaux de détection Vue

不言
不言original
2018-06-30 16:14:111531parcourir

Cet article partage avec vous les points de connaissances pertinents et des exemples de codes permettant à Vue de détecter les changements dans les objets et les tableaux. Les amis intéressés peuvent s'y référer.

En JavaScript, les objets et les tableaux sont des types référence, pointant vers le même espace mémoire. Si prop est un objet ou un tableau, sa modification à l'intérieur du composant enfant affectera l'état du composant parent. Vous pouvez modifier des objets ou des tableaux directement dans les sous-composants, mais aucun changement ne se produira si les données changent.

Détecter les modifications d'objet

1. Impossible de détecter l'ajout ou la suppression d'attributs d'objet

var vm = new Vue({
 data:{
   data111:{
     a = 1
   }
 }
})

data111.a = 2;//Cela peut provoquer des changements

Mais data111.b = 2; et vm.b = 2 ne peuvent pas détecter les changements

Besoin d'utiliser

Vue.set(object, key, value)

tel que

$set(data111, b, 2);

ou :

$set(key,value)

tel que

vm.$set(‘b', 2);

Détecter les modifications du tableau

Les modifications ne peuvent pas être détectées dans les deux situations suivantes :

1. Définir les éléments directement par index, par exemple. as arr[0 ]=12;

2. Modifiez directement la longueur du tableau, comme vm.arr.length

Vue.set( object, key, value )

Utilisation :

this.$set(this.arr,0,12)

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Analyse du code source de la vue de contrôle des données de Vue

Introduction à Vue définissant dynamiquement les paramètres de routage

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