cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - finish-callback() pemalam pemasa sudut tidak memuatkan semula paparan

<p ng-show="smsSent">
<timer interval="1000" countdown="60" end-time="0" finish-callback="smsSent=!smsSent">{{seconds}}</timer>
</p>

Saya mahu memanggil selesai-panggilan balik selepas undur pemasa tamat, dan kemudian nilai smsSent akan diterbalikkan, jadi <p ng-show="smsSent">p ini akan disembunyikan... sekarang apabila undur mencapai 0 , I diperhatikan bahawa nilai smsSent memang telah berubah, tetapi <p ng-show="smsSent"> p ini tidak tersembunyi, bermakna tiada percubaan menyegarkan Tolong bantu, bagaimana saya boleh menyembunyikan p

itu
滿天的星座滿天的星座2822 hari yang lalu937

membalas semua(1)saya akan balas

  • PHP中文网

    PHP中文网2017-05-15 17:07:21

    Terima kasih atas jemputan Bolehkah anda memberikan cara menulis arahan pemasa, atau berikan pautan ke jsbin atau jsfiddle.net untuk menghasilkannya semula. Maklumat yang diberikan pada masa ini ialah nilai telah ditukar, tetapi Dom tidak dipaparkan, saya rasa anda boleh mencetuskan semakan kotor dalam panggilan balik $apply atau $evalAsync.

    ------------------- garis pemisah ----------------

    Cari pemalam yang anda nyatakan https://github.com/siddii/ang... , saya akan tarik permintaan itu tidak lama lagi dan anda tidak perlu mencetuskannya secara aktif dalam panggilan balik selesai $apply.

    ------------------Barisan pemisah----------------
    https://github.com/ siddii/ang...

    Permintaan telah ditarik, terutamanya perenggan berikut Apabila $scope.finishCallback dipanggil, kitaran semakan kotor dicetuskan secara aktif

    .
                 if($scope.finishCallback) {
     -              $scope.$eval($scope.finishCallback);
     +              if ($rootScope.$$phase) {
     +                $scope.$evalAsync($scope.finishCallback);
     +              } else {
     +                $scope.$apply($scope.finishCallback);
     +              }
                  }

    balas
    0
  • Batalbalas