2017-06-07 3 views
0

Ich bin neu in Angular 2. Ich entwickle ich App, die ich die Root-Komponente abgeschlossen, die eine Navigationsleiste und Fußzeile enthält. Ich arbeite gerade am Homepage-Modul und bekomme diesen Fehler.Fehlende Vorlage in eckigen 2

[Fehler] Unbehandelte Versprechen Ablehnung: (8) Template Parse-Fehler: Website-Header‘ist kein bekanntes Element: 1. Wenn 'site-Header' eine Winkelkomponente ist, stellen Sie sicher, dass es ist Teil dieses Moduls.

Das ist mein main.ts Datei im Ordner Hommage

import { platformBrowserDynamic } from '@angular/platform-browser- dynamic'; 
import { HomepageModule } from './homepage.module'; 

const platform = platformBrowserDynamic(); 
platform.bootstrapModule(HomepageModule); 

Dies ist die Datei Modul ist

import { NgModule }  from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 

import { HomepageComponent} from './homepage.component' 
import { SiteHeaderComponent } from '../site-header/site-header.component' 

@NgModule({ 
    imports:  [ BrowserModule ], 
    declarations: [ SiteHeaderComponent ], 
    bootstrap: [ HomepageComponent ] 
}) 
export class HomepageModule { } 

Datei Dies ist der Inhalt der Homepage Vorlage

<site-header>header</site-header> 

Dies ist der Inhalt der Website-header html

<!-- Site header --> 
<header class="site-header size-lg text-center" style="background-image: url(assets/img/bg-banner1.jpg)"> 
    <div class="container"> 
    <div class="col-xs-12"> 


    </div> 

    </div> 
</header> 
<!-- END Site header --> 

ich meine Importe mehrmals überprüft und ich sehe nichts, das aus sieht.

Ich habe sogar versucht, den Server neu zu starten, vielleicht war das das Problem.

+0

Können Sie Ihre Site-Header-Komponente veröffentlichen? –

+0

Ich habe gerade den Code – John

Antwort

0

Die HomepageComponent sollte in den Deklarationen enthalten sein. Bootstrap sollte nur verwendet werden, wenn dies das Stammmodul Ihrer Anwendung ist.

@NgModule({ 
    imports:  [BrowserModule], 
    declarations: [ 
       HomepageComponent, 
       SiteHeaderComponent 
    ] 
}) 
export class HomepageModule { } 
+0

hinzugefügt. Ich habe noch keine Formulare in der Kopfzeile, weil ich das Suchformular zu einer Komponente machen möchte. Also kann ich es sonst verwenden – John

+0

Müsste ich die Homepagecomponent-Deklaration im Homepage-Modul haben, da ich sie schon im App-Modul deklariere? – John

+0

Ihre Frage hat mich dazu gebracht zu glauben, dass das HomepageModule Ihr Root-Modul ist, weil Sie dort die Bootstrap-Eigenschaft festgelegt haben. Sie müssen die Bootstrap-Eigenschaft nur einmal im Stammmodul Ihrer Anwendung festlegen, in diesem Fall AppModule. Ihre HomepageComponent sollte in den Deklarationen des HomepageModules registriert sein. Das HomepageModule sollte in den Importen Ihres AppModules registriert sein. –