2016-09-12 2 views
0

У меня есть фрагмент кода в моем anuglar2 компоненте, который загружает данные на этапе инициализации компоненты - Я хочу, чтобы данные обновляются при обновлении страницы, что я делаю неправильно ?,angular2 обновление данные компонента

вот мой сниппет:

ngOnInit(): void { 
     this._productService.getProducts().subscribe(
      products => this.products = products, 
      error => this.errorMessage = <any>error); 
    } 
+0

вы хотите, чтобы обновить периодически или вы имеете в виду обновить буквальным F5 ли? – rinukkusu

+0

Я хочу сделать это с помощью F5 – eugenekgn

ответ

0

Я думаю, что проблема с ngOnInit(). Он вызывается один раз только при инициализации компонента. Когда вы обновите, ngOnInit() не будет вызываться снова. Поэтому вы должны загрузить данные в конструктор или в некоторых других пользовательская функция.

constructor(private _productService:productService){ 
    _productService.getProducts().subscribe(
           products => this.products = products, 
           error => this.errorMessage = <any>error); 
} 

ИЛИ

// make sure you call it from somewhere. 
GetProducts() 
{ 
     this._productService.getProducts().subscribe(
      products => this.products = products, 
      error => this.errorMessage = <any>error); 
} 
+0

, есть ли лучший способ обойти это, кроме как придерживаться метода onReload() или getProducts() где-нибудь в шаблоне? – eugenekgn

+0

Вы хотите обновления в реальном времени? если это так, вы можете подумать о 'rxjs library', но не знаете, как именно. – micronyks

+0

Вы пробовали это? он работает для вас? – micronyks

Смежные вопросы