2016-08-16 42 views
6

我有一個複雜的接口,在那裏我有動態的項目清單(想象一個摺疊菜單)在頁面(這裏頁),當我把這個網址:如何根據所調用的URL動態地定位<router-outlet>?

/about/item/1 

它「路線」,以其中一個手風琴項目並將內容加載到點擊清單項目(手風琴的一個項目)中。

具體來說,我想要做的是這樣的:

@Component({ 
    selector: 'app-about', 
    template: ` 
     <ul> 
      // dynamic list 
      <li> 
       <a [routerLink]="['/about/item', 1]">Item 1</a> 
       // <router-outlet></router-outlet> 
       // if url is /about/item/1 
      </li> 
      <li> 
       <a [routerLink]="['/about/item', 2]">Item 2</a> 
       // <router-outlet></router-outlet> 
       // if url is /about/item/2 
      </li> 
     </ul>   
    ` 
}) 
export class AboutComponent { } 

我使用角:2.0.0-rc.4角/路由器:3.0.0-beta.2

這似乎不是正確的做法。我怎麼能這樣做「角度的方式」?

非常感謝

+0

顯然,這是一個RC5的問題,你不能動態地放置在視圖中的路由器出口的,因爲競爭條件如下解釋。希望我的情況能夠在下一個路由器版本中解決。 https://github.com/angular/angular/issues/9500 –

回答

1

你可以給路由器,網點名稱和該出口組件時,應加入

<router-outlet name="a"></router-outlet> 
<router-outlet name="b"></router-outlet> 
{ path: 'a', component: A, outlet: 'a'} 
{ path: 'b', component: B, outlet: 'b'} 

也見

路線上所定義的名稱
+0

我有一個項目的動態列表...我可以設置動態路由嗎?在我的關於頁面的組件? –

+0

http://stackoverflow.com/questions/37623306/angular2-rc-and-dynamic-routes/38095784#38095784。您也可以使用路徑參數(不知道您的詳細要求),其中路徑的一部分是可變的,不需要每個值的新路線。除了根據路由組件內的路由參數強制添加組件外,您還需要每個組件的路由。 –

+0

我想要完全相同的路由器插座(我不想改進路線)。這更多的是放置在頁面中的位置,而不是定義本身 –

相關問題