директива меню навигации обновляется при входе пользователя в систему или выходе из системы

#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 при каждом входе в систему или выходе из системы