【发布时间】:2019-08-24 06:09:13
【问题描述】:
我有一个主要的出口来显示主页、仪表板、请求表。
Dashboard 是一个画廊,用于显示图表、表格等不同类型的图块。
我希望仪表板的每个图块中都有一个插座来显示图表或表格。
由于有多个 tile 实例,并且如果每个 tile 中的出口相同,恐怕每个 tile 都会响应 /tile/chart 或 /tile/table 的导航请求。 我应该能够区分每个瓷砖插座。
主要出口 -> 主页、仪表板、请求。
仪表板 -> 用另一个插座平铺组件以显示图表/列表。
主页组件
<router-outlet></router-outlet> //outlet for dashboard, request
路线:
{
path: 'dashboard',
component: DashboardComponent //main outlet
},
{
path: 'home',
component: HomeComponent // main outlet
}
仪表板组件:
<Tile> --outlet for chart/table -- </Tile> //Tile 1
<Tile> --outlet for chart/Table -- </Tile> //Tile 2 and so on.
【问题讨论】:
-
您是否正在尝试导航到“仪表板/平铺/图表”?还是“仪表板”?
-
我可以从家里导航到仪表板。仪表板的磁贴很少。我想在每个图块中都有一个辅助插座,以根据其输入显示图表或表格
-
如果我了解您需要在仪表板组件中使用路由器出口子级。例如拆分模块。您可以拥有“AppModule”、“DashboardModule”等。在 AppModule 中,您拥有(就像现在一样)主要出口。在仪表板模块中,您可以拥有另一个路由器插座,因此在仪表板中您可以定义新路由:“/tile/chart”、“瓷砖/...”,您将链接的那些组件将在仪表板路由器插座中呈现
-
在dashboard模块中,如果每个tile组件都有那个outlet来消费/tile/chart或/tile/table,那么每个tile outlet不会响应导航请求,因为outlet在所有tile中都是重复的仪表板@Kalamarico
-
我没说要为瓷砖做一个插座。只比你多一个路由器插座(你只有一个对吗?在 appModule 中)。在仪表板组件模板中,设置一个新的路由器插座,并在路由定义中,您可以处理这些瓷砖路径,它们将在该路由器插座中呈现
标签: javascript angular angular2-routing angular-routing angular-routerlink