gpt4 book ai didi

angular - Angular 5路由中的queryParams列表为空

转载 作者:行者123 更新时间:2023-12-03 22:15:38 25 4
gpt4 key购买 nike

我是 Angular 的新手,我一直在寻找解决问题的方法,但不幸的是我还没有找到。
当我将参数传递给路由器(路由器类)时,但参数列表(在目标站点上)为空。

let navigationExtras: NavigationExtras ={
queryParams: {
uri: item.uri
}
}

this.router.navigateByUrl('articlelist/article-details', navigationExtras);

Article-details 组件(路由为 ActivatedRoute 类):
   ngOnInit(): void {
console.log("ArticleDetailsComponent " + JSON.stringify(this.route.url));
this.route.queryParamMap.map(paramMap =>{
this.uri = paramMap.get('uri');
console.log(this.uri);
});
}

ArticleList 模块中的路由(我项目中的模块之一):
const routes: Routes = [{
path: '',
component: ArticleListComponent,
data: {
title: 'ArticleList'
},
},
{
path: 'article-details',
component: ArticleDetailsComponent,
data: {
title: 'ArticleDetails'
},
}
];

当我在目标组件中记录 route.url 时,结果是:

ArticleDetailsComponent {"_isScalar":false,"observers":[],"closed":false,"isStopped":false,"hasError":false,"thrownError":null,"_value":[{"path":"article-details","parameters":{}}]}



如果有人知道如何修复它,我将不胜感激:)

最佳答案

您应该需要使用 ActivatedRoute为了获取所有查询参数。

试试这个 -

constructor(
private activatedRoute: ActivatedRoute
) { }

this.activatedRoute.queryParams.subscribe(params => {
const URI = params['uri'];
});

更新

尝试发送这样的参数 -
this.router.navigate(['articlelist/article-details' ], {
queryParams: {
uri: item.uri || 'Default'
}
});

关于angular - Angular 5路由中的queryParams列表为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51038208/

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