ich einen Dienst für das Routingrouter.navigate ändert nicht die Hilfsroute
export class WetterRoutingService {
private currentUser: User;
private defaultAbm: Abm;
public rerouteToDefaultOnLoad: boolean = false;
constructor (@Inject(UserService) private userService: UserService,
@Inject(UiDataStore) private uiDataStore: UiDataStore, private router: Router) {
// get User Data and relevant data
}
Ich habe eine Funktion in diesem Dienst auf dem Weg zu bestimmten Strecken i häufig verwenden (die Verbindungen dynamisch verwendeten Änderung auf dem Benutzer basiert und Daten)
public routeToAbmAuxMaps(id) {
this.router.navigate([ '/start', DATA_CONSTANTS.some_constant, id, {outlets: { aux: ['maps']}}]);
}
I definierten die folgenden Routen:
export const ROUTES: Routes = [
{
path: '',
redirectTo: '**',
pathMatch: 'full'
},
{
path: 'start/:type/:abm',
component: AbmBlock,
canActivate: [UserService],
resolve: {
model: AbmBlockResolver
},
},
// some other routes
{
path: 'maps',
component: MapsDetailBlock,
outlet: 'aux'
},
{
path: '**',
component: AbmBlock,
resolve: {
data: AbmBlockResolver
},
}
];
und meine Router-Filialen in die app.html
<div class="main-container" id="main-container">
<div class="main-panel">
<router-outlet (activate)="onMainActivate($event)"></router-outlet>
</div>
</div>
<div class="detail-container" id="detail-container">
<div class="detail-panel">
<router-outlet name="aux" (activate)="onDetailActivate($event)"></router-outlet>
</div>
</div>
, wenn diese Funktion jedoch aufgerufen wird, löst der Router dies in
BaseUrl/#/start/constant/id
, was ich erwartet
BaseUrl/#/start/constant/id(aux:maps)
Ist das ein Fehler, den ich auf GitHub veröffentlichen sollte oder habe ich einfach etwas falsch gemacht?
Angular 2.4.3 TS 2.1.5
e: Formatierung
änderte ich den Anruf zu this.router.navigate (['/ start', DATA_CONSTANTS.abm, abmId, {outlets: {aux: 'maps'}}]); macht es immer noch das Gleiche – user3548538