访问服务的activatedRoute.params

时间:2018-11-03 13:16:14

标签: angular

我正在研究一个使用很多路径参数的Angular项目

/sec/:sec/subsec/:subsec/foo/:foo

这当然也被后端API使用,所以我需要访问它们,这开始造成一些混乱。目前,我正在组件中使用activatedRoute来访问这些参数。

this.activatedRoute.params.subscribe((params: Params) => {
this.sec = params['sec'];

但是,这导致我在每个组件中一遍又一遍地创建完全相同的代码。我非常想简单地创建一个服务,使我可以访问这些参数,例如:

    class myParamState{

    sec: string;
    subsec: string
    foo: string;
    //...

    }

在这一点上,我已经设法访问路由器出口组件中的路由器,这几乎可以帮到我。

constructor(private router: Router) {
router.events.subscribe(val => {
console.log(val);
});
}

我在哪里卡住?我不确定如何从路由器提取参数(甚至不确定这是否是最佳方法)。如果可以的话,我将能够更新服务,然后就可以重用了。

我觉得我缺少一些非常明显的东西,也许是内置的东西-我被卡住了

1 个答案:

答案 0 :(得分:0)

我认为这种情况下的一个好方法是创建使用参数的转换器服务,并将其转换为您的模型(myParamState)。转换后,您可以将此对象传递给另一个服务,并将其发送到后端。

相关问题