cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Apakah $root.$$phase dalam angularjs?

Terdapat kod ng berikut:

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

Maksud kod ini adalah untuk menyatakan sama ada perlu untuk memanggil skop.$apply() untuk melaksanakan fungsi fn. Jika tidak, hubungi fn terus Jika perlu, panggil skop.$apply(fn).. .
Walau bagaimanapun, saya ingin tahu apakah $root.$$phase dan mengapa ia boleh digunakan untuk menentukan sama ada $apply perlu dilaksanakan. Saya harap seseorang yang memahami prinsip ng dapat membantu menjawabnya~ Terima kasih~~~

伊谢尔伦伊谢尔伦2776 hari yang lalu675

membalas semua(1)saya akan balas

  • 世界只因有你

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

    $$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.

    balas
    0
  • Batalbalas