2016-10-22 94 views
3

我有一個角2應用程序,其中有兩個獨立的功能又名組件相鄰的另一個組件(我們稱他們爲A和B)。現在我想通過路由來改變組件A中的生活。到現在爲止還挺好。這將是一個正常的情況,我們可以將組件A稱爲應用程序內容組件。Angular2路由:一次多個組件

我的問題是我想能夠通過路由來改變組件B內部的內容。

當然現在我可以像http://foo.bar/what-lives-in-a/123/what-lives-in-b/abc 制定路線,但想象一個應用程序那裏有無數的事情,可能生活在一個和的東西,可以住在我B.認爲這是太痛苦了創建所有這些dozends中手工分路線。

那麼你們中的任何人都知道解決這個問題的好方法嗎?

+0

能否請你解釋一下你究竟想要什麼樣的例子? – micronyks

+0

其實我可以。我們的團隊想要在左側創建一個UI,我們有一個視圖組件。假設我想列出所有客戶。在右側,我有一個動作組件,可以在其中執行任何動作(與視圖組件中看到的無關)。所以我可以在查看客戶列表時執行「創建任務」操作。心智「創造任務」與客戶無關 – Domenic

+0

是的,這是可能的,也很容易。 – micronyks

回答

5

你想要什麼可以實現與2個獨立的路由器插座。因爲組件是獨立的,所以它是有意義的。 所以你,也許已經有主路由器的出口是在最上面的組件,並像指定: <router-outlet></router-outlet>

要指定另外一個你需要編寫如下: <router-outlet name="forComponentB"></router-outlet> 後,你將有添加的路線一樣,命名路由器出口:

,{path: "comp-b-path", outlet: "forComponentB", component: ComponentB}

因此產生的URL看起來就像是: 的BaseURL/COMP-A-URL(forComponentB:COMP-b-路徑)和你可以管理狀態兩個組件都是通過改變主URL或括號中的值來獨立進行的。請注意,您可以將參數添加到每個網址,因此非常靈活。

+0

哇,這聽起來就像我希望的東西!謝謝!我必須在接下來的幾天內嘗試它 – Domenic

+0

希望它能幫助,讓我知道如果有什麼不起作用,會盡力幫助 –