2016-08-30 1 views
2

私は大きなプロジェクトに取り組んでおり、1つの問題に直面しています。テンプレートなしのページはほとんどありません(つまり、ナビゲーションバーやフッタなどのメインコンテンツを包むコード)と、レイアウトのある他の多くのページがあります。未登録のユーザーはレイアウトされたページにアクセスできません。まず、彼はレイアウトなしでページにログインする必要があり、レイアウトでメインコンテンツを見ることができます。角2 - レイアウトコンポーネント

主なコンセプトは、ルートがあるページ間をナビゲートし、必要に応じてこのページをレイアウトでラップすることです。いわゆるいくつかのコンポーネントは、それが「親コンポーネント」のいくつかの種類を呼び出し、レイアウトを使用して自身をラップするとき

RootComponentは非常に簡単です:

Component({ 
    selector: 'my-app', 
    template: `<router-outlet></router-outlet>`, 
    directives: [ROUTER_DIRECTIVES], 

}) 

export class RootComponent { 

    constructor(){  
    } 

} 

すべての魔法は、ルーティングされたコンポーネントからなるべきです。また、私はナビゲーションとページの依存関係でimgを添付しました。

誰かがアプリケーションの簡単な例を書くことができますか?

enter image description here

+0

GODを見ると、私は答えを見つけました。それはTransclusionを呼び出します。良いガイドはここで読むことができます:https://toddmotto.com/transclusion-in-angular-with-ng-content – dantey89

答えて

0

これは、新しいngModuleがために設計された、まさにです。それを使用すると、メインアプリケーションを含むAppModuleと、ログインコンポーネントを含むLoginModuleを作成できます。 https://angular.io/docs/ts/latest/api/core/index/NgModule-decorator.html

+0

私はそれを読むが、それを正しく使用する方法をまだ明確に理解できない – dantey89

+0

私は知っているモジュールにナビゲートし、このモジュールで使用するコンポーネントのスコープを宣言することができます。しかし、どのようにコンポーネントがレイアウトとして別のコンポーネントを使用するかと言うと、 – dantey89

+0

それぞれのモジュールには、「レイアウト」として機能するメインの 'AppComponent'が必要です。基本的にはヒーローズのチュートリアルを取ってファイルを倍にしてください – watzon

関連する問題