$timeout的行为不同



下面是我使用的代码。我试图显示这个指令标签下的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('$rou‌​teUpdate', function() { if (/*shouldReload*/) { 
$route.reload(); } } }

相关内容

  • 没有找到相关文章

最新更新