我是angularjs的一个新手,今天在项目中遇到这样的一个问题
我想在1S种以后给p隐藏掉,但是一直没效果,
求解,为什么一直没反应
<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 ?