recherche

Maison  >  Questions et réponses  >  le corps du texte

angular.js - angularjs 中的$root.$$phase是什么东西?

有如下一段ng代码:

$scope.safeApply = function(fn){
   var phase = this.$root.$$phase;
   if (phase == '$apply' || phase == '$digest') {
       if (fn && ( typeof (fn) === 'function')) {
          fn();
       }
   } else {
       this.$apply(fn);
   }
}

这段代码的意思应该是说,执行fn这个函数,是否需要调用scope.$apply(),如果不需要就直接调用fn,如果需要,那就调用scope.$apply(fn)...
但是,我想知道$root.$$phase是什么,为什么通过它就可以判断是否需要执行$apply.希望能有懂ng原理的高手帮忙解答一下~ 谢谢~~~

伊谢尔伦伊谢尔伦2743 Il y a quelques jours652

répondre à tous(1)je répondrai

  • 世界只因有你

    世界只因有你2017-05-15 16:51:29

    $$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-ci safeApply). ça doit être quelque part.

    répondre
    0
  • Annulerrépondre