2017-11-02 4 views
0

私は独自のルーティングを持つサブモジュールを持っています。ユーザーがURL /showに行くたびapp-routing.module(トップモジュール)の中で、それが遅延ロードされます。ShowModuleとそのコンポーネント内からサブモジュールのルートパスを取得するには?

const routes: Routes = [ 
    { 
    path: 'show', 
    loadChildren: './show/show.module#ShowModule' 
    } 
]; 

、どのように私は/showあり、このサブモジュールのルートを、見つけることができますか?

ルータのリンクを構築する必要があります。たとえば、このShowサブモジュール内で「product」というトップページへのリンクを作成したいとします。完全なURLは/show/productです。私は<a routerLink="/product">を使ってみましたが、完全なURLはちょうど/productになりました。

<a [routerLink]="[rootPath, 'product']">のようなものを使用する予定ですが、 'rootPath'変数の取得方法はわかりません。

+1

サブモジュールの 'NgModel'ベースURLをコンポーネントに設定しますか? あなたのモジュールベースパスのようなものは '{path: '/'}です。' –

答えて

0

「(空のルート)あなたはショーのルートを呼び出すときに「あなたが作成できる子を作成したい場合は、その中で、ルートが、最初それが呼び出す」そうautomaticaalyそれはshowModule」を呼び出して、このようなあなたのサブモジュールのルートを作成

const routes: Routes = [ 
    { 
    path: '', 
    component:'' 
    } 
]; 
あなたは

しかし、あなた場合を含める必要があるのshowcomponentのHTMLの一部では

const routes:Routes = [ 
    { 
    path: '', 
    component: ShowComponent, 
    children: [ 
     { 
      path: 'product, 
      component: ProductComponent 
     } 
    ] 
    } 
]; 

:あなたのShowModuleのルータアレイは次のようにsomethinkれるべき

+0

答えに時間をとってくれてありがとう、ありがとうございます。私はサブモジュールのルートを設定することに問題はありません。 –

0

あなたがShowModuleのうちのコンポーネントからアクセスしたい場合は、アクセスしたい場合は

const routes:Routes = [ 
    { 
    path: 'product', 
    component: ProductComponent 
    } 
]; 

routerOutletが

routerOutlet="show/product" 

Otherwayでなければなりません:あなたはこのようにそれを省略することができるのshowcomponentを持っている必要はありません。 ShowModule内でrouterModuleは

routerOutlet="product" 

である必要があります。

+0

答えに時間をとってくれてありがとうが、それは私が尋ねたものではない。私はサブモジュールのルートを設定することに問題はありません。 –

関連する問題