Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 路由器出口内部路由器出口动态调用独立路由_Angular_Angular2 Routing_Angular2 Template_Angular2 Services - Fatal编程技术网

Angular 路由器出口内部路由器出口动态调用独立路由

Angular 路由器出口内部路由器出口动态调用独立路由,angular,angular2-routing,angular2-template,angular2-services,Angular,Angular2 Routing,Angular2 Template,Angular2 Services,我有一个angular 2项目,其中有很多模块。我使用惰性加载技术加载每个模块,如下所示 { path: 'home', loadChildren: './dashboard/dashboard.module#DashboardModule' }, 现在我遇到了一种情况,我使用 { path: 'workflow', loadChildren: './workflow-management/workflow-management.module#WorkflowManagementModule'

我有一个angular 2项目,其中有很多模块。我使用惰性加载技术加载每个模块,如下所示

{ path: 'home', loadChildren: './dashboard/dashboard.module#DashboardModule' },
现在我遇到了一种情况,我使用

{ path: 'workflow', loadChildren: './workflow-management/workflow-management.module#WorkflowManagementModule' },
在工作流模块中,我有一个名为workflow footer的组件,它只是一个带有标签next的按钮的页脚。当我单击next时,将对服务器进行rest调用,并从服务器接收a字段“url”。收到此消息后,我必须导航到该url

现在问题是

我必须有加载路线的页脚组件页脚。即,必须加载新组件(基于从服务器接收的路由)组件,并且其页脚应为工作流页脚组件。如下所示

代码中的情况如下所示

<div>some other content</div>
<router-outlet></router-outlet>
<work-footer></work-footer>
其他一些内容

但我无法理解如何实现这一点,因为路由不是恒定的,它可能是动态的,取决于服务器响应。以及其他模块中的响应。因此,请帮助我实现这一点。

我不确定我是否理解。您是否试图根据路由指定完全不同的页脚内容

如果是,则为每个路由组件将适当的页脚组件添加到模板中

在A部分:

<div>Component A Stuff</div>
<compA-footer></compA-footer>
A组件

你是说你想把不同的东西放到页脚区域吗?如果是这样,那么您可以使用命名的路由器出口

<div>some other content</div>
<router-outlet></router-outlet>
<router-outlet name="footer"></router-outlet>
其他一些内容
然后,您可以将一些内容导航到第一个路由器出口,将不同的内容导航到命名的路由器出口

<div>some other content</div>
<router-outlet></router-outlet>
<router-outlet name="footer"></router-outlet>

如果希望在多个页面下方显示标准页脚,可以使用问题中指定的技术:

<div>some other content</div>
<router-outlet></router-outlet>
<work-footer></work-footer>
其他一些内容

这对您不起作用吗?

不。我想使用与页脚相同的页脚组件逐个导航到多个url。基本上,我在页脚中有一个“下一步”按钮,用于更改路由。然后您指定的代码应该可以工作。请参阅我上面的添加内容。但此路由器出口位于另一个routeroutlet内。如果我导航,它将使用新路由器完全重新加载页面。路由器出口可以位于其他路由器出口内。我有几个这样的例子,它不会重新加载页面。您能否提供一个简单的Plunk来演示您的问题,我们可以看一下?