const routes: Routes = [
{
path: 'a',
component: MainComponent,
children: [
{
path: 'ab',
component: ABComponent
},
{
path: 'ac',
component: ACComponent
}
],
}
在Angular 8中,请考虑以上情形,我需要在MainComponent-> ABComponent之间传递数据
我不想使用服务方法。我也尝试使用this._router.getCurrentNavigation()。extras.state获取数据,但是我得到的是 [我在构造函数中使用了]]。我什至尝试使用window.history.state检索数据。两者均不适用于父级和子级路由组件。有人知道它不起作用的原因吗?
我可以看到在解析器中可以传递数据,但是我真的很想知道还有其他方法可以传递数据。
注意:数据很大,所以我不想在参数中传递。
添加更多信息:
使用下面的代码可以获取数据,但是有一个缺点。
ngOnInit() {
this.state$ = this.activatedRoute.paramMap
.pipe(map(() => window.history.state))
}
考虑以下设计
左侧右侧
Maincomponent [包含表单] [ABComponent]表中的结果
初始路线网址“ ../a”将仅显示形式[左侧],然后在网址“ ../a/ab”中将显示形式和结果。
我提交表单时,我的路线网址为[/ a / ab]。最初,我将获取状态下的数据,但是当再次提交具有不同值的表单时,将不会获取新数据。
请提出解决上述问题的好方法。