Angular 2组件访问上下文 - 选择器vs路由

问题描述:

我通过路由和通过选择器访问相同的组件。因此,“/项目”路线的项目列表组成部分,Angular 2组件访问上下文 - 选择器vs路由

<projects></projects> 

使用组件为好。我想知道使用哪种方法访问组件。底线 - 路线访问是一个完整页面,组件访问位于一个小部件中。如果通过小部件访问,我想改变一些事情的工作方式。

+0

对于Angular 2+使用[标签:角],为角1.x使用[标签:angularjs] – 0mpurdy

您可以检查路由URL

进样private activatedRoute: ActivatedRoute在组件的构造函数,你可以得到的网址,如下所示

this.activatedRoute.url.subscribe(urlPath=>{}); 

检查urlPath如果projects那么它通过路由否则它是通过选择

+0

谢谢。我想我可能需要这样做。我实际上是抽象这个结构,我不想强​​制路线匹配实体。我正在寻找一个标志,告诉组件如何被调用,而不是检查路径。有关于此的任何想法? –

尝试一下做法吧。 将输入变量@Input() isRoute: boolean = true;添加到您的组件并将其默认值设置为true。 使用选择器时,请使用如下形式: <projects [isRoute]="false"></projects>。 现在,当此组件在路由中打开时,它将设置isRoute为true,否则当此组件通过选择器打开时,isRoute将为false。 :)