Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度2-根据页面切换指令组件_Javascript_Html_Angularjs_Angular_Angular2 Directives - Fatal编程技术网

Javascript 角度2-根据页面切换指令组件

Javascript 角度2-根据页面切换指令组件,javascript,html,angularjs,angular,angular2-directives,Javascript,Html,Angularjs,Angular,Angular2 Directives,假设我有主页、关于和高级搜索页面。在我的AppComponenthtml中,我有以下内容: <view-header></view-header> <view-search></view-search> <router-outlet></router-outlet> <view-footer></view-footer> 您只需在模板中使用ngIf(或绑定到[隐藏]): <view-heade

假设我有主页、关于和高级搜索页面。在我的
AppComponent
html中,我有以下内容:

<view-header></view-header>
<view-search></view-search>
<router-outlet></router-outlet>
<view-footer></view-footer>

您只需在模板中使用
ngIf
(或绑定到
[隐藏]
):

<view-header></view-header>
<view-search *ngIf="showViewSearch"></view-search>
<router-outlet></router-outlet>
<view-footer></view-footer>
<router-outlet></router-outlet>

因此,仅当当前路由未搜索时才会呈现
viewSearch
组件。

您可以在模板中简单地使用
ngIf
(或绑定到
[隐藏]
):

<view-header></view-header>
<view-search *ngIf="showViewSearch"></view-search>
<router-outlet></router-outlet>
<view-footer></view-footer>
<router-outlet></router-outlet>

因此,只有当前路由未搜索时,才会呈现
viewSearch
组件。

使用
route.subscribe
检查当前活动路由maybe@AngJobs谢谢你的回复,从未听说过。我会查出来的。没问题,这是在官方文件中。我不确定我是否理解
路由.param.subscribe
如何回答我的问题。你试过
这个.router.routerState.root
了吗?它应该会显示ActivatedRoute
路由。subscribe
来检查当前的活动路由maybe@AngJobs谢谢你的回复,从没听说过。我会查出来的。没问题,这是在官方文档中。我不确定我是否理解
路由.param.subscribe
如何回答我的问题。你试过
这个.router.routerState.root
它应该显示激活的路由谢谢你的帮助,我试过按照你提到的做,但是我没有在我的整个项目中找到类
ActivatedRoute
。也许是另一个版本?我的版本是-
angular cli:1.0.0-beta.2-mobile.4
您使用的路由器是什么版本?ActivatedRoute由3.x版的
@angular/route
导出“@angular/router”:“2.0.0-rc.1”。我应该把它升级到3.x吗?是的,v2路由器已经弃用,v3将与稳定的v1和2一起发布。谢谢你的帮助,我试着按照你说的去做,但是在我的整个项目中我没有找到类
ActivatedRoute
。也许是另一个版本?我的版本是-
angular cli:1.0.0-beta.2-mobile.4
您使用的路由器是什么版本?ActivatedRoute由3.x版的
@angular/route
导出“@angular/router”:“2.0.0-rc.1”。我应该把它升级到3.x吗?是的,v2路由器已经弃用,v3将与稳定的v1和2一起发布。
constructor(private activatedRoute: ActivatedRoute) {
  this.showViewSearch = activatedRoute.component !== Search
}