下面是我使用的代码。我试图显示这个指令标签下的html元素显示4秒后。当页面第一次加载时,它会延迟指定的html元素,但是当我导航到另一个页面并返回到相同的页面时,延迟的元素立即显示
Utils.directive('ieUtilsError', function() {
var directive = {};
directive.link = function(scope, element, attrs) {
element.attr("style","display:none")
function show() {
element.attr("style","display:inline")
}
$timeout(function() {
show();
}, 4000);
}
});
当你按下后退键时,页面不会重新加载,它会保持旧页面,这就是为什么你的超时现在工作
在浏览网页时最好使用路由,如果你按后退键,它会帮助你重新加载页面。
function myController($route, $rootScope)
{ $rootScope.$on('$routeUpdate', function() { if (/*shouldReload*/) {
$route.reload(); } } }