gpt4 book ai didi

angular - 路由参数更改时更新列表

转载 作者:行者123 更新时间:2023-12-05 05:10:10 28 4
gpt4 key购买 nike

我有一个获取路由参数的组件:

export class CatalogComponent implements OnInit {

category: number;

constructor(private route: ActivatedRoute) { }

ngOnInit() {

this.route.paramMap.subscribe(parameters => {
this.category = parameters.has('category') ? +parameters.get('category') : undefined;
})

}

}

然后在我的模板上:

<product-list [category]="category"></product-list>

ProductList 组件是:

export class ProductListComponent implements OnInit {

@Input() category: number;

products$: Observable<ProductListModel[]>;

constructor(private productService: ProductService) { }

ngOnInit() {

this.products$ = this.getProducts();

}

private getProducts(): Observable<ProductListModel[]> {

return this.productService.get(this.category);

}

}

问题是当路由参数 category 更改时,ProductList 组件呈现的 Products 不会更新。

我该如何解决这个问题?

最佳答案

你需要在ProductListComponent中实现ngOnChanges

喜欢下面

ngOnChanges(changes: Record<keyof ProductListComponent, SimpleChange>) {

if (changes.category && changes.category.currentValue) {

// reload your data here
}
}

关于angular - 路由参数更改时更新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56957405/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com