#javascript #angularjs
#javascript #angularjs
Вопрос:
У меня есть директива меню, содержащая информацию о пользователе (вход, выход из системы …), Которая изменяет состояние при входе или выходе пользователя.
<ul class="nav navbar-nav">
<li ng-hide="isLoggedIn"><a href="#/login">Sign in</a></li>
<li ng-show="isLoggedIn"><a href="#/profile">{{ currentUser.name }}</a></li>
<li ng-show="isLoggedIn" ng-click="logout()"><a>Logout</a></li>
</ul>
Я хотел бы структурировать свой index.html вот так
<navigation></navigation>
<ng-view></ng-view>
Это работает не так, как хотелось, потому что я перенаправляю при входе / выходе из системы: обновляется только ng-view, но не директива навигации…
Чтобы обойти это, я вместо этого поместил директиву навигации в начало каждого из моих шаблонов страниц, которые загружаются в ng-view.
Это лучший способ продолжить? Я видел, как это делалось в другом месте, но я нахожу это неэлегантным.
Ответ №1:
Вы можете сделать это следующим образом: вы можете установить переменную isLoggedIn в $rootScope и обновлять ее до 1 и 0 при каждом входе в систему или выходе из системы