Angular 2 - 如何获得激活路线的兄弟姐妹?

时间:2017-08-16 13:52:38

标签: angular angular2-routing

我正在尝试构建一个服务,它接受ActivatedRoute并通过它的兄弟路由的所有配置。

我知道如何访问ActivatedRoute的孩子,但如何获得这些孩子的兄弟姐妹?

例如:

路由:

[{
 path: 'path1',
 component: Path1Component,
 children: [{
       path: 'path2',
       component: Path2Component,
       data: {somekey: 'somedata'}
    },
    {
       path: 'path3',
       component: Path3Component,
       data: {somekey: 'someotherdata'}
    }]
}]

如果我的ActivatedRoute包含(或指向)path3,如何获取路径2中包含的数据?

有办法吗?

3 个答案:

答案 0 :(得分:0)

你可以使用router.config

来获取它

所以在你想要检查其他路线数据的组件中

constructor(private router: Router){
     console.log(router.config);
}

你必须在对象中挖掘路径并获取数据。

现在请注意,当加载延迟加载的模块时,此配置会更改; 在加载延迟加载的路由之前,您将无法获取数据

希望这会有所帮助!!

答案 1 :(得分:0)

有一种方法可以,您可以访问路线的父母,然后访问父母的孩子,这些孩子也将包含您当前的路线。像这样:

    <input class="panning-control" type="range" min="0" max="100" step="1" value="0">

答案 2 :(得分:0)

这是您的操作方式:

canvas_ruler = pg.GraphicsLayoutWidget() formLayout.addWidget(self.canvas_ruler) plot_ruler = canvas_ruler.addPlot(name="Ruler") plot_ruler.hideAxis('left') canvas_ruler.scene().sigMouseMoved.connect(self.mouseMoved) canvas_ruler.scene().sigMouseClicked.connect(self.mouseClicked) plot_ruler.setMouseEnabled(x=True, y=False)