gpt4 book ai didi

angular 7路由到相同的组件但不同的参数不起作用

转载 作者:太空狗 更新时间:2023-10-29 18:22:06 31 4
gpt4 key购买 nike

我有 2 个路由器 socket :侧边栏和默认 socket 。

 {path: 'motor/:id', component: MotorComponent}

从侧边栏导出我有一些路由器链接到默认路由器导出,目标相同的组件 (MotorComponent) 但不同的参数。

this.router.navigate(['./', {outlets: {primary: ['motor', 
id]}}]);

如果我单击其中一个,相应的组件将被加载,但如果我单击另一个路由器链接,则不会加载正确的组件。 url 中的参数发生变化。

我读到这是一个常见问题。我尝试了重用策略,但我认为它实现得不好,什么也没发生。

我想单击针对相同组件但参数不同的不同路由器链接,即使它是同一组件,该组件也会加载。

这是我的 ngOninit,我在其中订阅路由参数,保存该 ID,然后从服务中获取我的新对象。

motor: MotoarePrincipale;
id: number;

ngOnInit() {
this.route.params.subscribe(
(params: Params) => {
this.id = +params['id'];
}
);
this.masinaService.getMotorByMotorId(this.id).subscribe(data => {
this.motor = data;
});

最佳答案

对于 Angular 7(我只在这个版本上试过)你可以在你的组件中使用路由重用策略:

constructor(private routerR: Router) {

// this is for routerLink on same component when only queryParameter changes
this.routerR.routeReuseStrategy.shouldReuseRoute = function () {
return false;
};
}

关于angular 7路由到相同的组件但不同的参数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54627478/

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