angular.js - angular-timer 插件的finish-callback()不刷新视图
滿天的星座
滿天的星座 2017-05-15 17:05:21
0
1
871
<p ng-show="smsSent">
<timer interval="1000" countdown="60" end-time="0" finish-callback="smsSent=!smsSent">{{seconds}}</timer>
</p>

我想在这个timer倒数计时结束后,调用finish-callback,然后smsSent的值就取反了,因此<p ng-show="smsSent">这个p会隐藏起来,问题是....现在倒数计时到0了之后,我观察到smsSent的值确实变了,但是<p ng-show="smsSent">这个p并不隐藏,意味着没有刷新试图,求助,我改如何做才能隐藏那个p

滿天的星座
滿天的星座

membalas semua(1)
Ty80

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);
 +              }
              }
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan