Maison > Questions et réponses > le corps du texte
http://codepen.io/anon/pen/JXogBj?editors=1010
Comme indiqué dans le code ci-dessus, si
clique sur 1:dom操作
puis clique sur 2:ng操作
, la valeur de l'étiquette ne changera pas à moins que vous ne cliquiez sur 3:ng操作
puis sur 2:ng操作
.
Y a-t-il un moyen de faire en sorte que 2:ng操作
prenne toujours effet ?
怪我咯2017-05-15 17:01:06
1 : L'opération DOM modifie directement la valeur de View, mais $scope.name est toujours 123 et n'a pas changé. C'est très important
2 : opération ng, car $scope.name est toujours 123 et on lui attribue une valeur de 123 à ce moment-là, il ne fait en fait rien
3 : ng opération, $scope.name se voit attribuer une valeur de 124. À ce moment, le nom change et angulaire revient pour mettre à jour la valeur de la vue. Parce que la valeur est la même, la. l’effet ne peut pas être vu. Cliquez ensuite sur l'opération 2:ng et $scope.name se voit attribuer une valeur de 123. Si elle est modifiée, la valeur de la vue sera mise à jour de manière synchrone.
Un peu alambiqué
var helloApp = angular.module("helloApp", []);
helloApp.controller("HelloCtrl", function($scope) {
$scope.name = "123";
$('#domopr').click(function(){
$scope.$apply(function(){
$scope.name = "124";
});
});
});