получить обновленные данные после редактирования и перенаправить на другой маршрут - PullRequest
0 голосов
/ 06 декабря 2018

In имеют два Angular 6 Components: DetailsProduct и EditProduct.Когда я редактирую продукт, я перенаправляюсь на страницу с информацией о продукте.Моя проблема в том, что когда я возвращаюсь к «Сведениям», новые сохраненные данные не отображаются, старые данные отображаются.Вот код EditProduct:

EditProduct() {

    let url = this.baseUrl + `/products/${this.id}`;
    this.httpClient.put(url, JSON.stringify(query), httpOptions).subscribe(
        response => {console.log(response); this.successMessage = true;},
        err => { console.log(err);  this.errorMessage = true;}
    );
    this.goToDetails();
}

goToDetails() {
    this.router.navigate(['details-product/'+this.id]); 
}

Вот код DetailsProduct:

getProductDetails() {
    let url = this.baseUrl + `/products/${this.id}`
    this.httpClient.get(url)
        .subscribe(data => { this.oneProduct= data; })
}

Вот что у меня в модуле маршрутизации:

const routes: Routes = [
  { path: 'products', component: ProductsComponent },
  { path: 'details-product/:id', component: DetailsProductComponent},

]

Есть идеи, как получить новые сохраненные данные (получить обновленные данные) после перенаправления на детали?Я не мог найти что-то, что работает для меня в других темах ...

Я столкнулся с этой темой о Resolver , но не смог сделать это правильно.Любая помощь очень ценится.

Я использовал распознаватель, но не сделал никаких изменений.

1 Ответ

0 голосов
/ 12 декабря 2018

Решение:

EditProduct() {

    let url = this.baseUrl + `/products/${this.id}`;
    this.httpClient.put(url, JSON.stringify(query), httpOptions).subscribe(
        response => {
              this.goToDetails();
              console.log(response); this.successMessage = true;},
        err => { console.log(err);  this.errorMessage = true;}
    );

}

Вызывает метод перенаправления внутри subscribe.Так просто.

...