我为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 {}
答案 0 :(得分:1)
您在 app.module.ts 中有const providers = [ ListingService ];
,但您似乎没有在任何地方设置数组。
如果您仅在ListingPageModule中使用listing.service,则应将其设置为该模块中的提供程序(已完成。)。在 app.module.ts中删除listing.service
导入因为它在模块之外,它被设置为提供者