Je suis un débutant dans Angularjs. J'ai rencontré un tel problème dans le projet aujourd'hui
Je veux masquer p après 1S, mais cela n'a aucun effet
S'il vous plaît, dites-moi pourquoi il n'y a pas de réponse
<p ng-show="on">111</p>
app.controller('myinfoCtrl', ['$scope'],function($scope) {
$scope.on=true;
setTimeout(function(){
console.log($scope.on)
$scope.on=false;
console.log($scope.on)
},1000)
}
Vous devez appeler manuellement $scope.$apply();
dans la fonction de rappelOu utilisez $timeout
http://www.cnblogs.com/ys-ys/...
J'espère l'adopter, merci
Utilisez $timeout :
La modification des variables liées dans $scope directement dans setTimeout ne déclenchera pas la vérification des données sales des variables. Les modifications des variables ne seront pas synchronisées avec l'interface, donc l'interface n'effectuera pas de modifications.
Je n'ai jamais utilisé setTimeout, mais changer setTimeout en $timeout peut obtenir l'effet que vous avez mentionné
<p ng-show="on">111</p>
app.controller('myinfoCtrl', ['$scope'],function($scope) {
}
.L'utilisation de setTimeout ne déclenchera pas la boucle $digest. Il est recommandé d'utiliser le $timeout fourni dans angulaire
@ Meteor Stay Pourquoi signale-t-il une erreur ?