Ответ 1
Исправлена проблема с использованием кода, который я написал в UPD2 моего вопроса
У меня есть базовый 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>
Теперь все работает отлично
Исправлена проблема с использованием кода, который я написал в UPD2 моего вопроса
Насколько я понимаю сейчас, ваша проблема заключается в том, что значение "hide_menu" не зависит от маршрута, в котором вы сейчас находитесь.
Поэтому я предлагаю вам установить значение в контроллере в соответствии со страницей, которую вы сейчас показываете. Например, вы можете прослушивать событие $routeChangeSuccess и соответственно считывать объект $route.current.
Если вам нужна более конкретная помощь, предоставьте plunkr!
да, вы можете работать с 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>