我正在研究一个使用很多路径参数的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);
});
}
我在哪里卡住?我不确定如何从路由器提取参数(甚至不确定这是否是最佳方法)。如果可以的话,我将能够更新服务,然后就可以重用了。
我觉得我缺少一些非常明显的东西,也许是内置的东西-我被卡住了
答案 0 :(得分:0)
我认为这种情况下的一个好方法是创建使用参数的转换器服务,并将其转换为您的模型(myParamState)。转换后,您可以将此对象传递给另一个服务,并将其发送到后端。