好吧,我有一些通过ng-click调用的功能
例如,此函数将变量a
设置为true
,几秒后变量应变为false
。
功能看起来像这样:
$scope.do = function (){
$scope.a = true;
$timeout($scope.a=false,5000);
}
但是当我调用此函数时,varibale a
会立即变为false
,而不会使用5秒。
我做的一切都好吗?
在Plnkr上演示
我怎样才能实现"等待"点击AngularJS后?
答案 0 :(得分:3)
$timeout
(以及原生javascript setTimeout
)期望将函数作为第一个参数:
$scope.do = function() {
$scope.a = true;
$timeout(function() {
$scope.a = false;
}, 5000);
};
您提供的此功能参考将在计时器启动后调用。
答案 1 :(得分:2)
这应该
$scope.do = function (){
$scope.a = true;
$timeout(function(){$scope.a=false},5000);
}