2016-06-09 14 views
0

Das Unterrouting hat ein Problem mit dem Seitenladevorgang zwischen untergeordneten Komponenten.Angular2 - routerConfig Unterrouting zwischen untergeordneten Komponenten

In app.ts

@RouteConfig([ 
    { path: 'app/businessunits/...', component: BusinessRootComponent, as: 'BusinessRoots' }, 
]) 

in BusinessRootComponent.ts

@RouteConfig([ 
    { path: '/', component: BusinessUnitComponent, as: 'BusinessUnit', useAsDefault: true }, 
    { path: '/apartment', component: ApartmentComponent, as: 'Apartment' }, 
    { path: '/aptdetails', component: AptDetailsComponent, as: 'AptDetails' } // not working as expected 
]) 

Wenn ich eine Router in Wohnung Seite aptdetails haben, die Seite neu geladen, wenn Sie diesen Link in geklickt.

Der Link von BusinessUnit zu Apartment funktioniert wie erwartet. Aber von Apartment zu AptDetails funktioniert nicht wie erwartet.

Irgendeine Idee, was in der Konfiguration falsch ist?

Die Router ist in der Wohnung Komponente

@Component({ 
    selector: 'apartment', 
    template: ` 
    <div *ngFor="#apartment of apartments" class="demo-updates mdl-card mdl-shadow--2dp mdl-cell mdl-cell--4-col mdl-cell--4-col-tablet mdl-cell--12-col-desktop"> 
       <div class="mdl-card__actions mdl-card--border"> 
       <a class="mdl-button mdl-js-button mdl-js-ripple-effect">{{apartment.UnitType}}</a> 
       <a [routerLink]="['AptDetails']" class="mdl-button mdl-js-button mdl-js-ripple-effect" (click)="getAvailable(apartment)">Available</a>     
       </div> 
    </div>   
    `, 

    directives: [ROUTER_DIRECTIVES] 
})  
+0

Wenn Sie die '/ app/businessunits/aptdetails' direkt gehen Von der URL und alles wird richtig gerendert dann ist deine '@ RouteConfig' in Ordnung. Kannst du das bestätigen? Wenn ja, dann gib uns 'RouterLink's, die du hast. –

+0

Was passiert, wenn Sie die Reihenfolge ändern, setzen Sie zweiten {Pfad: '/ aptdetails', Komponente: AptDetailsComponent, wie: 'AptDetails'} – AngJobs

+0

@WojciechKwiatek ja kann ich direkt darauf zugreifen, aber die Seite aktualisiert, wenn es dort geht. – user2180794

Antwort

0

Nach Ihrer Komponentenstruktur ich denke, das sollte funktionieren:

<a [routerLink]="['../AptDetails']" 
Verwandte Themen