因此,在登录页面上时,我试图隐藏导航栏。我已将导航栏放在导航元素中,并在元素中放置了“ ng-if”,以仅在用户位于应用程序中(而非登录页面)时才呈现。
<!DOCTYPE html>
<html lang="en" ng-app="demoapp">
<head>
<!-- Angular & jQuery -->
<script src="js/jquery-3.2.0.min.js"></script><!-- load jquery -->
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script><!-- load angular -->
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-route.js"></script><!-- load ngRoute -->
</head>
<body>
<nav ng-if=false>
/... nav elements inside here
</nav>
<!-- to load ngRoute-->
<div ng-view></div>
</body>
但是,当我进入登录页面时,导航栏仍会显示一秒钟,然后消失。为什么这样做呢?如何停止?
最佳答案
根据AngularJS文档,“ ngCloak指令用于防止AngularJS html模板在您的应用程序加载时被浏览器以其原始(未编译)形式短暂显示。使用此指令可避免html模板显示引起的不希望的闪烁效果。
该指令可以应用于该元素,但是首选用法是将多个ngCloak指令应用于页面的一小部分,以允许逐步呈现浏览器视图。”
请参考https://docs.angularjs.org/api/ng/directive/ngCloak
关于javascript - 即使ng-if的 Angular 为false,div也会在最初的几秒钟内呈现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45866362/