angulaire.js - angulaireJs的$scope
phpcn_u1582
phpcn_u1582 2017-05-15 17:05:33
0
4
588

(1) Deux variables sont définies dans le contrôleur

$scope.a="aaaaa";
$scope.b="bbbbb";

(2) Définir également un objet à sauvegarder

$scope.object={
    arr:[$scope.a,$scope.b]
}

(3) Modifiez maintenant dynamiquement les valeurs de $scope.a et $scope.b.
Mais la valeur dans $scope.object.arr n'a pas changé. Pourquoi ? Ne devrait-il pas être mis à jour en temps réel ?

phpcn_u1582
phpcn_u1582

répondre à tous(4)
淡淡烟草味

Parce que a et b sont tous deux des types de données primitifs, lors de la déclaration de object, ce qui est rempli arr est la chaîne correspondant à a et b lui-même

Ainsi, lorsque vous modifiez $scope.a et $scope.b plus tard, $scope.object ne change pas avec.

C'est comme si j'avais deux pommes, je vous en ai donné une, puis j'ai pris une bouchée dans la mienne, parce que les pommes se ressemblent exactement (hypothèse, fausse proposition), donc je m'attends à ce que la pomme dans votre main soit la pareil. Un espace de morsure est apparu.

曾经蜡笔没有小新

Vous pouvez utiliser $watch

$scope.$watch('a',function(v){
    $scope.object.arr
});
$scope.$watch('b',function(v){
    $scope.object.arr[1] = v;
});
阿神

La valeur par défaut est une traversée peu profonde

滿天的星座

$scope.a, $scope.b sont des chaînes et l'affectation équivaut à attribuer directement des chaînes aux tableaux.
Si vous souhaitez atteindre votre objectif, vous pouvez surveiller a et b. Lorsque a et b changent, attribuez une valeur à l'objet.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal