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

时间:2017-08-09 17:48:25

标签: angular components selector

我通过路由和选择器访问相同的组件。所以'/ projects'路由到项目列表组件,AND

<projects></projects>

也使用该组件。我想知道用于访问组件的方法。 底线 - 路径访问是一个完整页面,组件访问是在一个小部件中。如果通过小部件进行访问,我想改变一些方法的工作方式。

2 个答案:

答案 0 :(得分:2)

您可以查看路由的网址

在组件的构造函数中注入private activatedRoute: ActivatedRoute,您可以获得如下所示的网址

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

检查urlPath if projects然后检查通过路由,否则通过选择器

答案 1 :(得分:0)

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