首页 文章

角度路由无法正常工作 . 投掷错误组件不是模块的一部分

提问于
浏览
2

我正在创建Angular 4应用程序并尝试实现基本路由 . 我的应用程序编译良好,但我的路由不起作用

我收到错误组件HomeComponent不是任何NgModule的一部分或模块尚未导入您的模块 .

我还没有配置路由器链接,但是假定路由应该在浏览器中的请求中起作用 .

当我点击主页时,home.component.html的内容应该同样加载点击编辑,新的,电影应该分别做同样的事情

告诉我有人在我的进口中出错了 . 特别

与电影,家庭,编辑和新

这是我的文件夹的结构

enter image description here

app.module.ts

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 './approuting.module';
    import {HomeModule} from './home/home.module';
    import {MovieModule} from './movie/movie.module';
    import { MRDBCommonService } from './shared/services/mrdb.common.service';
    import { NotFoundComponent } from './not-found/not-found.component';
    import { SharedModule } from './shared/shared.module';


    @NgModule({
      declarations: [
        AppComponent,
        FooterbarComponent,
        TopbarComponent,
        NavbarComponent,
        NotFoundComponent  
      ],
      imports: [
        BrowserModule,
        HttpModule,
        SharedModule,
        AppRoutingModule
      ],
      providers: [MRDBGlobalConstants,
                  MRDBCommonService],
      bootstrap: [AppComponent]
    })
    export class AppModule { }

approuting.module.ts

import {NgModule} from '@angular/core';
import {Routes,RouterModule} from '@angular/router';
import {MovieComponent} from './movie/movie.component';
import {HomeComponent}  from '../app/home/home.component';
import {NotFoundComponent} from './not-found/not-found.component';
import {NewmovieComponent} from './movie/new/newmovie.component';
import {EditmovieComponent} from './movie/edit/editmovie.component';

export const routes: Routes = [
{path : '', component : HomeComponent},
{path: 'movie', component : MovieComponent},
{path : 'new' , component : NewmovieComponent },
{path : 'edit' , component : EditmovieComponent },
{path: '**',component : NotFoundComponent}

];

@NgModule({
     imports: [RouterModule.forRoot(routes,{useHash: true})],
     exports: [RouterModule]

})

export class AppRoutingModule{}

home.module.ts

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 { }

Home.component.ts

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() {
  }

}

2 回答

  • 2

    在app.module.ts中的导入内添加 HomeModule

    imports: [
            BrowserModule,
            HttpModule,
            SharedModule,
            HomeModule,
            AppRoutingModule
          ],
    
  • 0

    您必须将所有“AlabalaModule”添加到导入中

    imports: [
        BrowserModule,
        HttpModule,
        SharedModule,
        AppRoutingModule,
        AlabalaModule
      ],
    

    你也需要像tis - > 这样的空格,我很确定是无效的语法

相关问题