2016-05-03 11 views
1

Ich habe Routen in meiner app.component.ts Datei definiert alsdisable/auszublenden Richtlinie auf der Route basierend Angular2

in home.html
@View({ 
    templateUrl: 'assets/home.html', 
    directives: [AccountManagerComponent, HeaderComponent, ROUTER_DIRECTIVES], 

}) 
@RouteConfig([ 
    { path: '/home', name: 'Home', component: HomeComponent }, 
    { path: '/about', name: 'About', component: AboutComponent },  
    { path: '/', name: 'IdentityManager', component: IdentityManagerComponent, useAsDefault: true}  
]) 

Vorlage folgt, ist wie folgt.

<header id="ag-header" class="app-header" role="banner"></header> 
<section id="ag-content" class="page-login"> 
    <router-outlet></router-outlet> 
</section> 

jetzt möchte ich 'header' element deaktivieren/ausblenden, wenn ich bei identitycomponent bin.

Kann ich Direktiven in der Vorlage basierend auf der Route anzeigen/verbergen?

Antwort

0
<header *ngIf="isIdentityManager" id="ag-header" class="app-header" role="banner"></header> 
<section id="ag-content" class="page-login"> 
    <router-outlet></router-outlet> 
</section> 
constructor(router: Router) { 
    router.subscribe(value => { 
    this.isIdentityManager = router.currentInstruction.component.routeName == 'IdentityManager'; 
    }); 
} 

Siehe auch In Angular 2 how do you determine the active route?

+0

i Import hinzugefügt haben {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS, Router} von 'angular2/Router'; Aber Fehler, dass router.currentInstruction ist keine Funktion –

+0

Ist der Code (Routen) und HTML in Ihrer Frage aus der gleichen Komponente? –

+0

ja sie sind in der gleichen Komponente. –

Verwandte Themen