错误:未捕获(承诺):错误:没有 - 离子3的提供者

时间:2017-11-10 06:06:36

标签: ionic3

我为listing创建新的离子页面名称,在我无法打开此listing.service.ts页面后,我添加了一些名称为listing的文件我发现了一些错误

Error: Uncaught (in promise): Error: No provider for ListingService!
Error: No provider for ListingService!

我尝试修复它超过一个小时,但无法找到任何解决方案,如何解决? 谢谢 这是我的代码

listing.module.ts

import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { ListingPage } from './listing';
import  {ListingService} from "./listing.service";

@NgModule({
  declarations: [
    ListingPage,
  ],
  imports: [
    IonicPageModule.forChild(ListingPage),
  ],
  providers: [
    ListingService
  ]
})
export class ListingPageModule {}

listing.service.ts

import {Injectable} from '@angular/core';
 @Injectable()
    export class ListingService {
      private eventMap:any;
      constructor() {
        this.initEventMap();
      }

app.module.ts

import {ListingService} from "../pages/listing/listing.service";

const providers = [ ListingService ];

@NgModule({
  declarations: [
    MyApp,
    HomePage




  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp),
    CalendarModule, // Ionic Calendar

  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    HomePage

  ],
  providers: [
    StatusBar,
    SplashScreen,
    {provide: ErrorHandler, useClass: IonicErrorHandler}
  ]
})
export class AppModule {}

1 个答案:

答案 0 :(得分:1)

您在 app.module.ts 中有const providers = [ ListingService ];,但您似乎没有在任何地方设置数组。

如果您仅在ListingPageModule中使用listing.service,则应将其设置为该模块中的提供程序(已完成。)。在 app.module.ts中删除listing.service导入因为它在模块之外,它被设置为提供者