Hide Elemente basierend auf Routing in Angular2 rc1

Ich möchte einige Elemente auf jeder Seite außer der Anmeldeseite haben. Ich möchte ngIf oder möglicherweise die Eigenschaft hidden der Elemente verwenden, um diese Elemente auszublenden, wenn sich der Benutzer auf der Anmeldeseite befindet.

Ich habe es versucht:

<div [hidden]="router.isRouteActive(router.generate('/login'))">

basierend auf dieser Frage und Antwort:In Winkel 2, wie bestimmen Sie die aktive Route?

Und habe es auch versucht:

 <div *ngIf="!router.isRouteActive(router.generate('/login'))">

aber noch keinen Erfolg gehabt.

Die Referenz ist hier die Komponente, die diesem HTML-Code entspricht.

import { Component, OnInit } from 'node_modules/@angular/core';
import { HTTP_PROVIDERS, XHRBackend } from 'node_modules/@angular/http';
import { Routes, Router, ROUTER_DIRECTIVES } from 'node_modules/@angular/router';

import { LoginService } from './login/login.service';
import { LoginComponent } from './login/login.component';
import { UserComponent } from './user/user.component';

@Component({
    selector: 'portal',
    templateUrl: 'portal/portal.component.html',
    directives: [ROUTER_DIRECTIVES, LoginComponent, UserComponent ],
    providers: [
        HTTP_PROVIDERS,
        LoginService
    ]
})

@Routes([
    { path: '/login', component: LoginComponent},
    { path: '/user/:username', component: UserComponent}
])

export class PortalComponent implements OnInit{
    private router: Router
    constructor() {}

    ngOnInit() {
        this.router.navigate(['/login']); 
    } 
}

Die Dokumentation für isRouteActive ist ziemlich schlank, genauso wie für generate. Gibt es eine Möglichkeit, dieses Verhalten besser zu erreichen?

Antworten auf die Frage(22)

Ihre Antwort auf die Frage