Angular 2组件访问上下文 - 选择器vs路由
问题描述:
我通过路由和通过选择器访问相同的组件。因此,“/项目”路线的项目列表组成部分,Angular 2组件访问上下文 - 选择器vs路由
<projects></projects>
使用组件为好。我想知道使用哪种方法访问组件。底线 - 路线访问是一个完整页面,组件访问位于一个小部件中。如果通过小部件访问,我想改变一些事情的工作方式。
答
您可以检查路由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。 :)
对于Angular 2+使用[标签:角],为角1.x使用[标签:angularjs] – 0mpurdy