2017-12-11 17 views
0

私は角度5+を使用しています.3段階のネストされたコンポーネントを作成したいと思います。複数のレベルのネストされたコンポーネントを角度で表示

ここに私ができることの例があります。

<my-app> 
<first></first> 
<second></second> 
</myapp> 

そして、ここでは、私はを行うことができないものです。

<my-app> 
<first><second></second></first> 
</myapp> 

私のアプリケーションモジュールには次のコードがあります。ここ

@NgModule({ 
    declarations: [ 
    AboutPage,FirstComponent,SecondComponent 
    ], 
    imports: [ 
    IonicPageModule.forChild(AboutPage), 
    ], 
}) 

export class AppModule{} 

注AppModuleは、ルートモジュールはありませんが、それは同様にlazyLoadedコンポーネントであること。

+0

質問を展開することはできますか? – Harry

+1

「AppModule」はルートモジュールではないという意味は?「AppModule」は実際にはルートモジュールではなく、それを "AppModule"と呼んではいけません。あなたが何らかの理由であなたのコード内でそれを行うのであれば、そうですが、あなたのためにそれをしないでください。 –

答えて

2

あなたはのコンポーネントテンプレート内に<second></second>コンポーネントを実装する必要があります。

@Component({ 
    selector: 'first', 
    template: '<second></second>' 
}) 
export class FirstComponent { ... } 

あなたのモジュールは

1

MyAppComponent正しい<ng-content>要素を持っている必要があり、それ以外の場合は、投影コンテンツが表示されません。

注意:これは、ルートコンポーネントではないコンポーネントに対してのみ機能します。 Angularはルートコンポーネントへのコンテンツの投影をサポートしていません。混乱の原因を調べるには、質問の下のコメントを参照してください。