1-创建一个动态组件。
2-观察route.params
。
3-将动态组件注入某些组件。
4-销毁并重新创建动态组件。
如果在动态组件中使用route.params
,我是否需要取消订阅func filterCarSpecifications(among carSpecifications: [CarSpecification]) -> [CarSpecification] {
let filteredCars = carSpecifications.filter {
let performance = $0.car.ps ?? 0.0
return $0.pricing.price >= IoC.filterDataService.selectedMinPrice.rounded(.down)
&& $0.pricing.price <= IoC.filterDataService.selectedMaxPrice.rounded(.up)
&& performance >= IoC.filterDataService.selectedMinPerformance
&& performance <= IoC.filterDataService.selectedMaxPerformance
&& (IoC.filterDataService.autoTransmision) ? $0.car.gearingType == transmission : true
}
}
?
答案 0 :(得分:1)
根据此answer,您应该:
取消订阅ActivatedRoute可观察对象,例如route.params 它们在嵌套中订阅(在tpl中添加了 组件选择器)或动态组件(可能已订阅) 只要父/宿主组件存在多次。无需 如报价中所述,在其他情况下退订 以上来自“路由和导航”文档。