我有一个page.html和controller.js文件。
我希望在输入文本框后显示标签,然后在2秒后弹出警报窗口,然后标签再次隐藏。
到目前为止,我有这个:
page.html中
<div ng-app>
<h2>Calculate</h2>
<div ng-controller="controller">
<form>
<input type="text" ng-model="name" ng-change="myFunc()"
ng-model-options="{debounce: 200}">
<label ng-show="showMe">Checking</label>
</form>
</div>
</div>
controller.js
angular.module('Ctrl', []).controller('controller', function($scope) {
var alertToCheck = function() {
alert("Some Message");
return true;
}
var checked = false;
$scope.showMe = false;
$scope.myFunc = function() {
if(checked == true){
$scope.cancel(alertToCheck());
checked = false;
}
$scope.showMe = !$scope.showMe;
setTimeout(alertToCheck(), 2000);
};
});
问题是当我输入文本框时,一旦完成输入,我会收到警报,然后弹出检查标签。我不知道我需要做什么才能获得
userfinshestyping - &gt; show label - &gt;暂停2秒 - &gt;显示Alertbox
答案 0 :(得分:5)
您的第setTimeout(alertToCheck(), 2000);
行应为setTimeout(alertToCheck, 2000);
在函数名后面放置()会导致它被立即调用