从登录页面删除导航菜单

时间:2014-03-03 08:03:15

标签: angularjs

有基础html admin_layout.html我写的地方:

<body>
    <div ng-include="'/static/partials/admin_navigation.html'"></div>
    <div ng-view></div>

有兴趣知道如何从登录页面删除管理员导航?

尝试在 LoginCtrl 中设置变量hide_menu并使用ng-if =“hide_menu”隐藏它,但这对我不起作用。它隐藏了所有管理面板中的菜单。

UPD:修正了它添加到导航div菜单控制器。或者更好的创建菜单指令?

UPD2:

admin_app.js 中添加:

adminApp.run(function($rootScope, $location) {
    $rootScope.location = $location;
});

并在 admin_layout.html

<nav ng-include="'/static/partials/admin_navigation.html'" ng-if="location.path() !== '/admin/login'"></nav>

现在一切正常

3 个答案:

答案 0 :(得分:7)

使用我在我的问题的UPD2中编写的代码修复了问题

答案 1 :(得分:0)

据我所知,你的问题是“hide_menu”的价值并不取决于你目前所处的路线。

所以我建议您根据当前显示的页面在控制器中设置值。例如,您可以侦听$ routeChangeSuccess事件并相应地读出$ route.current对象。

如果您需要更具体的帮助,请提供一个plunkr!

答案 2 :(得分:0)

是的,您可以使用ng-show或ng-hide进行操作。 对于那些您不希望使用导航栏的URL,您可以使用ng-hide隐藏iot 要为其隐藏导航栏的网址-http:// * * .com / view1.html

<div ng-include="'/static/partials/admin_navigation.html'" ng-hide="URL == '/view1.html'"></div>