제품이 서비스를 통해 호출되는 애플리케이션에 하나의 구성 요소가 있습니다. 이 서비스는 클릭 기능을 통해 호출합니다. 클릭하면 특정 카테고리를 얻기 위해 매개 변수를 전달합니다. 이제 내 문제는 경로를 변경할 때 목록이 새로 고쳐지지 않는다는 것입니다.
Service.ts
getProducts(service): Observable<Product[]>{
return this.db.list("/products/" + service)
}
products.ts (구성 요소)
Products: Product[] = [];
filteredProducts: Product[] = [];
urlArea : string;
urlService: string;
constructor(
private route: ActivatedRoute,
private ProductService: ProductsService) {
this.urlArea = this.route.snapshot.paramMap.get('area');
this.urlService = this.route.snapshot.paramMap.get('service');
}
private populateProducts(){
this.ProductService
.getProducts(this.urlService)
.subscribe(Products => {
this.filteredProducts = Products; // all listings will be stored in this
this.Products = Products;
});
}
라우트 매개 변수를 통해 서비스에 매개 변수를 전달합니다. 잘 작동하지만 경로가 변경되면 목록을 새로 고치지 않습니다. 업데이트 된 목록을 보려면 페이지를 새로 고침해야합니다.
생성자에서 스냅 샷을 가져 오는 대신 수명주기 메서드 에서 .subscribe()
를 수행 해야합니다 .this.route.paramMap
ngOnInit()
(가)으로 constructor()
만 실행되는 구성 요소가 등록되고 나면. 반면 ngOnInit()
구성 요소가 다시 초기화 될 때마다 실행됩니다.
더 나은 이해 를 위해이 기사 를 살펴볼 수도 있습니다.
참고 :- getProducts
구독 블록 내부 를 호출해야합니다.route.paramsMap()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다