DarthJS
@DarthJS

Как обновить View с другого скоупа?

Суть проблемы:
У меня есть тестовая форма регистрации с использованием ЛокалСтореджа. После того, как пользователь регистрируется данные заходят в локалсторедж, пользователя перекидывает на страницу пользователя и меню изменяется по правилам ng-if. Так вот View не изменяется, только показывается, что линк новый. Но при нажатии F5, когда срабатывает контроллер естественно всё норм.

Подробней:

1. service `Authentication`. Метод который заносит данные формы в `localStorage` и перекидывает пользователя на другой линк:

Authentication.registration = function(data) {
       localStorage.setItem('registrationData', JSON.stringify(data));
       $location.path('/userPage');
     }
     Authentication.ifLog = function() {
       // verify if the user exists in localStorage
     }


2. popup окно формы регистрации и её методы в функции `Link`:

$scope.registration = function(form) {
         Authentication.registration(
         };


3. Пункты меню с условиями. Когда пользователь залогинился мы показываемему 1й и 3й пункты меню и переносит на новую страницу.
'`Base`' - это контроллер, где я вызываю метод `ifLog` сервиса `Authentication` .

<li ng-if="Base.logined"><a href="#userPage">UserPage</a></li>
    <li ng-if="!Base.logined" ng-click="Base.toggleModal()">LogIn</li>
    <li ng-if="Base.logined">{{Base.user.name}}</li>

что необходимо сделать, чтоб обновить viewху?
  • Вопрос задан
  • 194 просмотра
Пригласить эксперта
Ответы на вопрос 1
Ну вам видимо после регистрации нужно заново вызвать метод ifLog и обновить значение Base.logined. Ну или в самом ng-if вызывать функцию, а не свойство проверять.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы