Lorsque nous attribuons une valeur à la portée et déclenchons le résumé, l'interface utilisateur sera mise à jour simultanément
scope.text ='zzz';
scope.$digest();
L'attribution directe d'une valeur à la portée ne mettra pas à jour l'interface utilisateur. Angular ne mettra à jour l'interface utilisateur que lorsque le résumé est déclenché. Dans la plupart des cas, Angular déclenche le résumé pour nous. la portée à la portée avec désinvolture. C'est bien, mais le résultat est une situation que je ne peux pas comprendre. Par exemple
Tout d'abord, je tiens à préciser que je ne connais pas très bien les angulairejs mentionnés dans la question, ce qui est un peu hors sujet. Knockout a également la même fonctionnalité de liaison de données bidirectionnelle. Elle est implémentée en mode observateur, lors de l'attribution d'une valeur à l'aide de la méthode set, les observateurs intéressés par l'objet seront informés en même temps. Ceci est utilisé pour obtenir l’effet de liaison bidirectionnelle des données.
Implémentation d'un exemple simple similaire à la liaison bidirectionnelle
HTML
SCRIPT
Afficher les données de mise à jour des modifications
C'est très simple, il suffit de lier l'événement lors de la compilation de l'instruction myModel
Les modifications apportées aux données mettent à jour l'interface utilisateur
Il y a des observateurs et des résumés dans la portée
Lorsque nous attribuons une valeur à la portée et déclenchons le résumé, l'interface utilisateur sera mise à jour simultanément
L'utilisation directe de setTimeout entraînera la non mise à jour de l'interface utilisateur. Nous devons effectuer le traitement suivant
.Ou utilisez le $timeout d'angular, qui nous aide à déclencher le résumé
Recherchons. Il existe de nombreux articles qui peuvent vous aider à répondre à vos questions. Recherchez d'abord, puis posez des questions
.Tout d'abord, je tiens à préciser que je ne connais pas très bien les angulairejs mentionnés dans la question, ce qui est un peu hors sujet.
Knockout a également la même fonctionnalité de liaison de données bidirectionnelle. Elle est implémentée en mode observateur, lors de l'attribution d'une valeur à l'aide de la méthode set, les observateurs intéressés par l'objet seront informés en même temps. Ceci est utilisé pour obtenir l’effet de liaison bidirectionnelle des données.
angular1 est un chèque sale. . Cela entraîne également des problèmes de performances
Comment AngularJS implémente-t-il son mécanisme de liaison de données bidirectionnelle ?
可以参考:
http://teropa.info/build-your-own-angular/build_your_own_angularjs_sample.pdf