1

Angular2に入っている古いチュートリアルを見ています(y、私は知っています)。Angular4(RC5)のコンポーネントを入れ子にする

Angular4:

@NgModule({ 
    imports: [ BrowserModule ], 
    declarations: [ AppComponent , MyChildComponent ], 
    bootstrap: [ AppComponent ] 
}) 

が、これはどのようにネストコンポーネント今あるようだが、角度2でそれが行われ(または同様に)してどのようにそれを行う方法はありませんでしょうか?あなたが今では廃止された 'ディレクティブ(directive)'プロパティで直接あなたのルートコンポーネントにインポートすることができます。

Angular2:

@Component({ 
    selector: 'app-root', 
    directives: [MyChildComponent] 
    template: '<div><ChildComponent></ChildComponent></div>' 
}) 
export class AppComponent {} 

編集:

@Component({ 
    selector: 'ChildComponent', 
    template: '<h2>Child component</h2>' 
}) 
export class MyChildComponent {} 

注:ここではMyChildComponent宣言(Angular2のはまだ一部)の輸入申告のある時点で

+0

あなたはコンポーネント内で 'ディレクティブ'として定義しています。どのようにディレクティブとコンポーネントに対して同じクラスを持つことができますか? – Aravind

+0

同じではありません。 MyChildComponentの宣言はここにはありません。私は混乱を避けるためにそれを更新するつもりです。これは「うまくいかない」タイプの質問ではありません。ちょうど彼らが "ディレクティブ"(Angular 2に存在していた、今は非難されている)キーワードではなく、何か別のものを持っているのだろうかと疑問に思っている。 –

+0

私の質問 –

答えて

0

省略は、(I彼らはモジュールベースの設計に切り替わり、本質的にaw夜間はdirectivesである。

どこにでもコンポーネントを使用するには、そのモジュールのコンポーネントで構成されたモジュール内にdeclarations: [...]部品が必要です。

その後、コンポーネント内にはdirectivesの部分はまったく必要ありません。要するに

:モジュールのdeclarationsセクションに記載されている

  • 任意の成分は、そのモジュールの他のすべてのコンポーネントにこれらのコンポーネントを利用できるようになります。
  • モジュールのexportsセクションにリストされているコンポーネントは、そのモジュールが他のモジュールで利用できるようになります。imports
+0

はそこにいる方が良い。拡張と維持がはるかに容易です。答えをありがとう –

関連する問題