angular.js - angularjs 中的$root.$$phase是什么东西?
伊谢尔伦
伊谢尔伦 2017-05-15 16:49:29
0
1
647

有如下一段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原理的高手帮忙解答一下~ 谢谢~~~

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(1)
世界只因有你

$$phase ialah bit bendera status yang digunakan secara dalaman oleh angluar untuk mengenal pasti sama ada ia berada dalam keadaan ringkasan pada masa ini.

Biasanya program tidak perlu mengambil berat tentang status ini (dua $ pada permulaan menunjukkan bahawa ia digunakan secara dalaman Jika anda menulis kod yang perlu mengambil berat tentang status ini, seperti ini safeApply, maka ia mesti ada masalah.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan