我是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)
}
You need to manually call $scope.$apply();
in the callback functionOr use $timeout
http://www.cnblogs.com/ys-ys/...
Hope to adopt it, thank you
Use $timeout:
Changing the variables bound in $scope directly in setTimeout will not trigger the dirty data check of the variables. Variable changes will not be synchronized to the interface, so the interface will not make changes.
I have never used setTimeout, but changing setTimeout to $timeout can achieve the effect you mentioned
<p ng-show="on">111</p>
app.controller('myinfoCtrl', ['$scope'],function($scope) {
}
Using setTimeout will not trigger the $digest loop. It is recommended to use the $timeout packaged in angular
@ Meteor Stay Why does it report an error?