ng-if in angular?$ timeout

时间:2017-01-23 13:08:17

标签: angularjs

我有一个ng-if条件:

<div class="fixed-outside" ng-if="'app.home'|isState">

即状态为app.home时显示div。

但是我想在我的div出现之前等待一段时间。我怎么能这样做

2 个答案:

答案 0 :(得分:2)

我建议使用css并为.fixed-outside类添加延迟动画。例如,如果您需要在显示阻止之前等待5秒,您可以执行以下操作:

.fixed-outside {
  animation: 5s fadeIn;

  visibility: hidden;
}

@keyframes fadeIn {
  99% {
    visibility: hidden;
  }
  100% {
    visibility: visible;
  }
}

答案 1 :(得分:1)

您可以尝试这样做:在您的控制器中创建一个返回app.home的函数,但不是将其返回,而是立即将其包装在$timeout内并替换视图ng-if="'app.home'|isState"以获取新函数

类似的东西:

<强>控制器

$scope.getAppHome = function(){
    $timeout(function(){
     return home;          //or whatever var 'home' represents on the view 'app.home'
    }, 200);
}

查看

<div class="fixed-outside" ng-if="app.getAppHome()|isState">