【发布时间】:2019-08-23 20:34:28
【问题描述】:
我想在 Angular 8 路由模块的.navigate() 内发送一组数据。
在home组件中,结果:
console.log(this.offers)
正在返回所有可用的优惠及其所有相关数据。
之后,我在导航中发送this.offers:
this.router.navigate(['/offers'], {queryParams:{ 'offers': this.offers}});
在优惠组件中,我尝试使用以下方法获取优惠数组:
console.log(this.activatedRouter.snapshot.queryParams.get('offers'))
但结果只是[Object Object]。
我尝试使用this.activatedRouter.snapshot.params['offers'],但返回的结果相同。
我尝试了以下方法:
console.log(this.activatedRouter.snapshot.queryParamMap.get('offers'))
但它返回了一个 [Object Object]:
【问题讨论】:
-
查询参数是字符串,在 URL 的查询字符串中:
offers?foo=bar&baz=bing。尝试将 JavaScript 对象放入查询参数中没有多大意义。 -
@JbNizet 那么用什么代替呢?
-
什么都没有。只需导航到组件,并让组件加载所有可用的商品(如果需要显示它们)。
-
我使用
window state找到了解决方案
标签: angular angular-router angular8 angular-activatedroute