样本:请查看链接http://plnkr.co/edit/Q3Z669FeRHqMORcQ9v6K?p=preview。
我在Visual Studio 2013工作。
我试图隐藏或基于身份验证,我想显示菜单。但是ng-if如果不在ng-view之外工作。
实际上ng-if没有智能感知器。虽然我粘贴了代码,但我没有得到。 但是ng-hide正在运作。
我正在获取ng-hide。但我不喜欢使用ng-hide,因为这只会隐藏元素。因此,使用inspect元素,我们可以启用菜单。
为什么我没有得到ng-if?我做错了吗
<div id="page-wrapper" ng-controller="indexController">
<div id="page-header" class="bg-gradient-9" ng-if="!authentication.isAuth">
<div id="mobile-navigation">
<button id="nav-toggle" class="collapsed" data-toggle="collapse" data-target="#page-sidebar" aria-expanded="false" aria-controls="navbar"><span></span></button>
<a href="javascript:void(0);" class="logo-content-small" title=" {{ '' | translate }}"></a>
</div>
<!--Logo for all the screen-->
<div id="mobile-navigation">
<a href="#/" class="logo-content-small" title=""></a>
</div>
<div id="header-logo" class="logo-bg mobile-hidden">
<a href="#/" class="logo-content-big" title="">
</a>
<a href="#/" class="logo-content-small" title="NoteReport">
NoteReport
</a>
</div>
</div>
<div id="page-content-wrapper ">
<!--Partial loading of the content-->
<div class="angular-ngview-content" ng-view>
</div>
</div>
</div>
答案 0 :(得分:0)
如果由ng-if
创建的子范围,这是古老的问题,请尝试:
ng-if="!$parent.authentication.isAuth"
编辑
在角度1.1.5之后提供了ng-if
指令,您使用的是1.0.5。 Working plunk
答案 1 :(得分:0)
这是因为ng-if创建子范围以及原型继承如何与primitives.just检查一次
ng-if="authentication.isAuth"
将angularjs版本更改为1.3.8 ......它将起作用