router.navigate不改变辅助路线

router.navigate不改变辅助路线

问题描述:

我有用于路由router.navigate不改变辅助路线

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 
} 

我提出在此服务的功能来路由到某些路线我经常使用(链接动态地改变根据用户的服务和数据)

public routeToAbmAuxMaps(id) { 
    this.router.navigate([ '/start', DATA_CONSTANTS.some_constant, id, {outlets: { aux: ['maps']}}]); 
} 

我定义了以下路线:

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 
    }, 
    } 
]; 

和我的路由器,网点在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> 

时,此功能被称为然而,路由器解析为

BaseUrl/#/start/constant/id 

我所期待的是

BaseUrl/#/start/constant/id(aux:maps) 

这是一个错误,我应该张贴在GitHub上这还是我做错了什么?

角2.4.3 TS 2.1.5

E:格式化

您应该将outlets对象改成这样:(aux不是数组)

{outlets: { aux: 'maps'}} 
+0

我改变了通话到 this.router.navigate(['/ start',DATA_CONSTANTS.abm,abmId,{outlets:{aux:'maps'}}]); 它仍然做同样的事情 – user3548538