私は以下の3つのレベルの入れ子になったコンポーネントをAngular2アプリケーションに用意しています。 (レイアウト/ヘッダ/サーチ)親の子コンポーネントを角2で使用する
layout/
├── header/
│ ├── search/
│ │ ├── search.component.ts
│ │ └── search.component.html
│ ├── header.component.ts
│ └── header.component.ts
├── layout.component.ts
├── layout.component.html
├── layout.component.css
└── layout.module.ts
私は私のheader.component.html
内検索コンポーネントを呼び出すしようとしているが、言っコンソールのエラーで終了してい
'Error: Uncaught (in promise): Error: Template parse errors:
'app-search' is not a known element:'
...
layout.module.ts
import { CommonModule } from "@angular/common";
import { NgModule } from "@angular/core";
import { layoutRouting } from "./layout.routing";
import { LayoutComponent } from "./layout.component";
import { HeaderComponent } from './header/header.component';
@NgModule ({
declarations: [
LayoutComponent,
HeaderComponent
],
imports: [
CommonModule,
layoutRouting
]
})
export class LayoutModule { }
layout.component.html
<div class="layout">
<app-header></app-header>
</div>
header.module.ts
import { CommonModule } from "@angular/common";
import { NgModule } from "@angular/core";
import { HeaderComponent } from "./header.component";
import { SearchComponent } from './search/search.component';
@NgModule ({
declarations: [
HeaderComponent,
SearchComponent
],
imports: [
CommonModule
]
})
export class HeaderModule { }
header.component.html
<header class="header">
<app-search></app-search>
</header>
あなたが上見ることができるように、私はすでにSearchComponent
をインポートし、そして宣言しましたat @NgModule
layout.module.ts
(両方の子の親コンポーネント)にSearchComponent
をインポートすると、エラーなしで正常に動作します。
私は角CLI
例えばを使用してコンポーネントを生成しています:ng g c layout/home/search
私はここで間違って何をやっていますか?レイアウトを呼び出さずにヘッダ内の検索コンポーネントを使用するにはどうすればよいですか?私を助けてください。
も参照のアプリ-ヘッダを含むことができ、 'あなたのレイアウトモジュール – Dummy
@Dummyそれは既に含まれています。更新された投稿を確認してください。 – Body
HeaderModuleはどこで使用しますか?ヘッダーモジュール – yurzui