Angular 8将数据传递到子路线

时间:2020-11-06 11:25:05

标签: angular angular8

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]。最初,我将获取状态下的数据,但是当再次提交具有不同值的表单时,将不会获取新数据。

请提出解决上述问题的好方法。

0 个答案:

没有答案