maxidebox@list.ru | +7 (929) 701 21 71
Route. Обновление шаблона

Route. Обновление шаблона

Если есть динамическая ссылка, например:

	
<a [routerLink]="['/users', 10, 'Anna']">Load Anna (10)
	

И в шаблоне в ngOnInit() формируется объект по параметрам url:

	
this.user = {
    id: this.route.snapshot.params['id'],
    name: this.route.snapshot.params['name'],
}
	

Для обновления шаблона при переходе по такой ссылке необходимо подписаться на событие:

	
import { ActivatedRoute, Params } from '@angular/router';
//...
  ngOnInit() {
    this.user = {
      id: this.route.snapshot.params['id'],
      name: this.route.snapshot.params['name'],
    }
    this.route.params.subscribe(
      (params: Params) => {
      this.user.id = params['id'];
      this.user.name = params['name'];
      }
    );
  }
	

Когда вы подписываетесь на наблюдение в компоненте, практически всегда нужно отписываться, когда компонент уничтожается. ActivatedRoute является одним из немногих исключений, так как он отписывается автоматически. Тем не менее, отписываться является хорошей практикой, которая никогда не будет лишней.

	
//...
import { Subscription } from 'rxjs/Subscription';
//...
paramsSubscription: Subscription;
//...
ngOnInit() {
  //...
  this.paramsSubscription = this.route.params.subscribe(
    //...
  );
}

ngOnDestroy() {
  this.paramsSubscription.unsubscribe;
}	
	

Голосов: 35 | Просмотров: 47

Заявка на создание сайта / Продвижение сайта

Документы на создание сайта

Изучите наше коммерческое предложение, заполните БРИФ и отправьте его на почту maxidebox@list.ru. Изучив все пожелания из БРИФ-а, обратным ответом оповестим Вас по стоимости разработке, ответим на вопросы.

КП на создание сайта Коммерческое предложение на созданеи сайта
Мы берем на себя ответственность за все стадии работы и полностью избавляем клиентов от забот и необходимости вникать в тонкости.

Скачать БРИФ (акета) на создание сайта Скачать БРИФ (акета) на создание сайта
Зополните у БРИФ-а все необходимые поля. Сделайте краткое описание к каждому из пунктов анкеты, привидите примеры в соответсвующий пунктах - это позволит лучше понять Ваши ожидания и требования к сайту

Закажите сайт по телефону: +7 (929) 701 21 71