2017-06-29 6 views
5

Buduję aplikację kątową 4. Pojawia się błąd Komponent HomeComponent nie jest częścią jakiegokolwiek modułu NgModule lub moduł nie został zaimportowany do modułu. Stworzyłem HomeModule i HomeComponent. Którego potrzebuję odnieść w AppModule. Jestem trochę zdezorientowany. Czy muszę odwołać HomeModule lub HomeComponent. Ostatecznie szukam, gdy użytkownik kliknie menu główne, powinien zostać przekierowany do pliku home.component.html, który zostanie wyrenderowany na stronie indeksu.Komponent nie jest częścią jakiegokolwiek modułu NgModule lub moduł nie został zaimportowany do modułu

App.module

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import {FormsModule} from '@angular/forms'; 
import {HttpModule} from '@angular/http' 

import { AppComponent } from './app.component'; 
import { NavbarComponent } from './navbar/navbar.component'; 
import { TopbarComponent } from './topbar/topbar.component'; 
import { FooterbarComponent } from './footerbar/footerbar.component'; 
import { MRDBGlobalConstants } from './shared/mrdb.global.constants'; 
import {AppRoutingModule} from './app.routing'; 
import {HomeModule} from './Home/home.module'; 

@NgModule({ 
    declarations: [ 
    AppComponent, 
    FooterbarComponent, 
    TopbarComponent, 
    NavbarComponent 

    ], 
    imports: [ 
    BrowserModule, 
    HttpModule, 
    AppRoutingModule, 
    HomeModule 

    ], 
    providers: [MRDBGlobalConstants], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 

HomeModule

import { NgModule } from '@angular/core'; 
import { CommonModule } from '@angular/common'; 
import { HomeComponent } from './home.component'; 

@NgModule({ 
    imports: [ 
    CommonModule 
    ], 
    exports: [HomeComponent], 
    declarations: [HomeComponent] 
}) 
export class HomeModule { } 

HomeComponent

import { Component, OnInit } from '@angular/core'; 

@Component({ 
    selector: 'app-home', 
    templateUrl: './home.component.html', 
    styleUrls: ['./home.component.css'] 
}) 
export class HomeComponent implements OnInit { 

    constructor() { } 

    ngOnInit() { 
    } 

} 
+0

czy używasz leniwego ładowania? –

+0

Tak. Jak to zrobić z leniwym ładowaniem – Tom

+1

dodać 'HomeComponent' do' entryComponents' –

Odpowiedz

6

jeśli nie używasz leniwy załadunku, trzeba importować HomeComponent w app.module i wzmianki pod deklaracjami. Ponadto, nie zapomnij, aby usunąć z importu

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import {FormsModule} from '@angular/forms'; 
import {HttpModule} from '@angular/http' 

import { AppComponent } from './app.component'; 
import { NavbarComponent } from './navbar/navbar.component'; 
import { TopbarComponent } from './topbar/topbar.component'; 
import { FooterbarComponent } from './footerbar/footerbar.component'; 
import { MRDBGlobalConstants } from './shared/mrdb.global.constants'; 
import {AppRoutingModule} from './app.routing'; 
import {HomeModule} from './Home/home.module'; 
// import HomeComponent here 

@NgModule({ 
    declarations: [ 
    AppComponent, 
    FooterbarComponent, 
    TopbarComponent, 
    NavbarComponent, 
    // add HomeComponent here 
    ], 
    imports: [ 
    BrowserModule, 
    HttpModule, 
    AppRoutingModule, 
    HomeModule // remove this 

    ], 
    providers: [MRDBGlobalConstants], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 
+0

Nadal dostaję błąd Komponent HomeComponent nie jest częścią jakiegokolwiek modułu NgModule lub moduł nie został zaimportowany do twojego modułu. – Tom

+0

Sprawdź, czy ścieżka z miejsca importowania zawiera składnik. Może będzie łatwo dowiedzieć się, czy mógłbyś zaktualizować swój aktualny kod tutaj – Gowtham

+0

Co jeśli używasz Lazy Loading? – DoubleA

0

Proszę sprawdzić kolejność app.routing.module.ts może być typo lub Comm brakuje. a potem Hard odświeża przeglądarkę (Ctrl + F5) dla chrome.

const routes: Routes = [ 
    { path: 'home', component: HomeComponent }, 
    { path:'',component:AboutComponent}, 
    { path:'',redirectTo:'/home', pathMatch : 'full'}, 
    { path:'**',component:Page404Component} 
]; 
Powiązane problemy