Il y a le code ng suivant :
$scope.safeApply = function(fn){
var phase = this.$root.$$phase;
if (phase == '$apply' || phase == '$digest') {
if (fn && ( typeof (fn) === 'function')) {
fn();
}
} else {
this.$apply(fn);
}
}
La signification de ce code devrait être de dire s'il est nécessaire d'appeler scope.$apply() pour exécuter la fonction fn. Sinon, appelez directement fn. Si nécessaire, appelez scope.$apply(fn).. .
Cependant, je veux savoir ce qu'est $root.$$phase et pourquoi il peut être utilisé pour déterminer si $apply doit être exécuté. J'espère que quelqu'un qui comprend le principe ng pourra aider à y répondre ~ Merci ~~~<🎜. >
$$phase
est un bit d'indicateur d'état utilisé en interne par angluar pour identifier s'il est actuellement dans l'état de résumé.Habituellement, le programme n'a pas besoin de se soucier de ce statut (deux
$
au début indiquent qu'il est utilisé en interne, si vous écrivez du code qui doit se soucier de ce statut, comme celui-cisafeApply
). ça doit être quelque part.