【发布时间】:2017-08-09 17:48:24
【问题描述】:
我通过路由和选择器访问相同的组件。因此,'/projects' 路由到项目列表组件,并且
<projects></projects>
也使用组件。我想知道使用哪种方法访问组件。 底线 - 路由访问是一个完整的页面,组件访问是在一个小部件中。如果通过小部件访问,我想更改一些工作方式。
【问题讨论】:
标签: angular components selector
我通过路由和选择器访问相同的组件。因此,'/projects' 路由到项目列表组件,并且
<projects></projects>
也使用组件。我想知道使用哪种方法访问组件。 底线 - 路由访问是一个完整的页面,组件访问是在一个小部件中。如果通过小部件访问,我想更改一些工作方式。
【问题讨论】:
标签: angular components selector
您可以查看路由的 URL
在组件的构造函数中注入private activatedRoute: ActivatedRoute,就可以得到如下的url
this.activatedRoute.url.subscribe(urlPath=>{});
检查urlPath 如果projects 则通过路由,否则通过选择器
【讨论】:
尝试一些 hacky 的方式来做到这一点..
将输入变量 @Input() isRoute: boolean = true; 添加到您的组件并将其默认值设置为 true。
使用选择器时,像这样使用它:
<projects [isRoute]="false"></projects>。
现在当这个组件在路由中打开时,它会将isRoute 设置为true,否则当这个组件通过选择器打开时,isRoute 将设置为false。 :)
【讨论】: