angular.js - angular-timer 插件的finish-callback()不刷新视图
滿天的星座
滿天的星座 2017-05-15 17:05:21
0
1
872
<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

滿天的星座
滿天的星座

répondre à tous(1)
Ty80

Merci pour l'invitation. Pouvez-vous expliquer comment écrire la commande timer, ou donner un lien vers jsbin ou jsfiddle.net pour la reproduire. L'information actuellement fournie est que la valeur a changé, mais le Dom n'est pas rendu. Je pense que vous pouvez déclencher la vérification sale dans finish-callback $apply ou $evalAsync.

------------------ ligne de démarcation ----------------

Trouvez le plug-in que vous avez mentionné https://github.com/siddii/ang... , je retirerai la demande bientôt, et vous n'avez pas besoin de le déclencher activement lors du finish-callback $apply.

------------------Ligne de séparation----------------
https://github.com/ siddii/ang...

La requête a été extraite, principalement le paragraphe suivant Lorsque $scope.finishCallback est appelé, le cycle de vérification sale est activement déclenché

             if($scope.finishCallback) {
 -              $scope.$eval($scope.finishCallback);
 +              if ($rootScope.$$phase) {
 +                $scope.$evalAsync($scope.finishCallback);
 +              } else {
 +                $scope.$apply($scope.finishCallback);
 +              }
              }
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal