2016-10-22 3 views
3

私は2つの独立した機能が別々に並んで座っている(2つのアプリケーションをAとBと呼ぶ)2角型アプリを持っています。今では、ルーティングを介してコンポーネントAにあるものを変更したいと考えています。ここまでは順調ですね。これは、コンポーネントAをアプリコンテンツコンポーネントと呼ぶ通常のシナリオです。Angular2 Routing:複数のコンポーネントを一度に読む

私の問題は、ルーティングを介してコンポーネントB内の内容を変更できるようにすることです。

私は今 http://foo.bar/what-lives-in-a/123/what-lives-in-b/abc のようなルートを作成しかし、Aに住むことができるものの数百人とB.に住むことができるもののdozendsがあり、私はすべてのこれらを作成するにはあまりにも痛いことだと思うアプリを想像もちろん

手でサブルート。

そのような問題に取り組むには良い方がいらっしゃいますか?

+0

具体例を挙げて説明してください。 – micronyks

+0

実際はできます。私たちのチームは、左側にビューコンポーネントがあるUIを作成したいと考えています。すべての顧客をリストしたいとしましょう。右側には、(ビューコンポーネントに表示されているものとは関係なく)何らかのアクションを実行できるアクションコンポーネントがあります。だから私は顧客リストを見ながら "タスクを作成"アクションを実行することができました。 "作成タスク"のマインドは顧客とは関係ありません。 – Domenic

+0

はい、それは可能であり、とても簡単です。 – micronyks

答えて

5

2つの独立したルーターアウトレットで、あなたが望むものを実現できます。コンポーネントが独立しているので理にかなっています。 だから、あなたはすでに最上位のコンポーネントであり、そのように指定されている主なルータのコンセント持つ、おそらく、以下のとおりです。あなたが持っているだろうその後 <router-outlet name="forComponentB"></router-outlet> :あなたは次のように記述する必要が別のものを指定するには <router-outlet></router-outlet>

をそのような名前のルータのコンセントのためのルートを追加する: BASEURL/COMP--URL(forComponentB:COMP-B-パス)

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

をだから、結果のURLは、そのようになりますし、あなた状態を管理することができますメインのURLまたは括弧内のURLを変更することによって、両方のコンポーネントのそれぞれのURLにパラメータを追加できるので、非常に柔軟です。

+0

これは私が望んでいたもののように聞こえる!ありがとう!私は日の次のカップルでそれを試してみなければならない – Domenic

+0

何かが動作しない場合、それが助けてくれると助けてくれることを願って、 –

関連する問題