我创建了一个带有我的代码的plunkr。通过单击切换折叠按钮折叠下拉菜单后,我需要下拉菜单在3秒后自行关闭。我在example.js的HeaderCtrl中使用了以下内容而没有运气:
function callAtTimeout(){
$scope.isFooCollapsed = true;
}
$timeout(function(){
!$scope.callAtTimeout();
}, 3000);
http://plnkr.co/edit/wMxA4Tkiqr9BsSfxia02?p=preview
任何帮助/意见将不胜感激。提前谢谢!
答案 0 :(得分:0)
你可以使用有角度的$timeout
来实现这样的想法:
var timer;
$scope.isFooCollapsed = true;
$rootScope.$on("bagNotification", function() {
$timeout.cancel(timer);
$scope.isFooCollapsed = !$scope.isFooCollapsed;
timer = $timeout(function() {
$scope.isFooCollapsed = true;
}, 3000);
});
我们每次都会使用$timeout.cancel
取消超时,以防止多次点击按钮时出现多次隐藏/显示。