Удалить навигационное меню со страницы входа

У меня есть базовый html admin_layout.html, где я написал это:

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

Заинтересоваться, как удалить административную навигацию со страницы входа?

Попробовал установить переменную hide_menu в LoginCtrl и скрыть ее с помощью 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>

Теперь все работает отлично

Ответ 1

Исправлена ​​проблема с использованием кода, который я написал в UPD2 моего вопроса

Ответ 2

Насколько я понимаю сейчас, ваша проблема заключается в том, что значение "hide_menu" не зависит от маршрута, в котором вы сейчас находитесь.

Поэтому я предлагаю вам установить значение в контроллере в соответствии со страницей, которую вы сейчас показываете. Например, вы можете прослушивать событие $routeChangeSuccess и соответственно считывать объект $route.current.

Если вам нужна более конкретная помощь, предоставьте plunkr!

Ответ 3

да, вы можете работать с ng-show или ng-hide. например, для этих URL-адресов вы не хотите иметь навигационную панель, которую вы можете скрыть, используя ng-hide i.e. URL, для которого вы хотите скрыть навигационную панель -http:// **.com/view1.html

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