Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.10.2016, 12:12
Интересующийся
Отправить личное сообщение для lakusha Посмотреть профиль Найти все сообщения от lakusha
 
Регистрация: 30.01.2016
Сообщений: 17

*ngIF странное поведение
Есть класс HeaderComponent.

У него есть метод login, который вызывается при клике на кнопку, и через promise вызывает другой метод этого класса - successLogin() :

login(name, pass){
  	this.serverService.loginUser(name, pass)
  	    .then(
          res => {
          	console.log(res);
          	this.successLogin();
          },
          error => {
          	console.log(`Rejected: ${error}`);
          	this.failureLogin();
          }
        )
  }


successLogin() меняет пару свойств:

successLogin(){
  	this.popUpVisible = false;
  	this.isLogin = true;
        console.log(this); // все свойства обновлены, все ок.
  }


В HTML есть элементы которые используют ngIf :

<div *ngIf="isLogin" class="newSeat">New seat</div>
	<div *ngIf="!isLogin" (click)="toggleLoginPopUpVisibility()" class="login">LOGIN</div>
	<div *ngIf="isLogin" (click)="logout()" class="logout">LOGOUT</div>
	<div *ngIf="popUpVisible" class="loginPopUp"></div>


Суть бага:
Иногда всё адекватно пропадает/появляется как и должно работать. А иногда изменения в классе происходит (вижу это через console.log(this)), но ngIf ничего не делает. Свойства изменены, но то что должно быть скрыто - никак не реагирует. Рандом полный, когда захочет - сработает, нет - нет.
Ответить с цитированием
  #2 (permalink)  
Старый 23.10.2016, 12:18
Интересующийся
Отправить личное сообщение для lakusha Посмотреть профиль Найти все сообщения от lakusha
 
Регистрация: 30.01.2016
Сообщений: 17

Забыл уточнить - Angular 2.
Ответить с цитированием
  #3 (permalink)  
Старый 24.10.2016, 18:13
Интересующийся
Отправить личное сообщение для lakusha Посмотреть профиль Найти все сообщения от lakusha
 
Регистрация: 30.01.2016
Сообщений: 17

Проблема фиксится с помощью ChangeDetectorRef, и вручную указывать компоненту в какой момент проверять изменения.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странное поведение jQuery borodatych Javascript под браузер 5 27.02.2014 11:47
Странное поведение array.length antserg jQuery 1 05.01.2013 14:31
Странное поведение Dojo. Kuzya59 Dojo toolkit 4 15.10.2011 15:42
Странное поведение переменной mycoding Серверные языки и технологии 4 14.01.2011 19:18
Странное поведение replace cooli0 Общие вопросы Javascript 4 25.01.2010 17:16