【发布时间】:2016-11-08 06:32:24
【问题描述】:
我在 Angular 2 rc4 上使用路由器 3.0.0-beta.1。 我想知道如何获取当前路线上的多个数据部分。 我需要参数、数据和 URL。
所有这三个部分都通过 observables 暴露在路由上。 我想出了这个凌乱的代码,我想知道这是否可以更有效地完成:
@Component({
...
})
@Injectable()
export class MyComponent implements OnInit {
constructor(private route:ActivatedRoute) {
}
ngOnInit() {
this.urlSub = this.route.url.subscribe(url=> {
this.dataSub = this.route.data.subscribe(data=> {
this.paramsSub = this.route.params.subscribe(params=> {
... logic using all 3 variables: params, data, url
});
});
});
}
}
谢谢
【问题讨论】:
-
为什么这么乱?
-
它需要大量的锅炉电镀。我没有添加所有内容:例如 urlSub、dataSub 和 paramsSub 订阅的声明。以及 ngOnDestroy 方法中的取消订阅。
-
是的,但您只能在共享组件/服务中执行此操作一次