【发布时间】:2017-06-12 09:30:37
【问题描述】:
我创建了一个名为 data-list.ts 的提供程序文件
将它包含在我的 app.moudule.ts 中
import { NgModule, ErrorHandler } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { HttpModule } from '@angular/http';
import { MyApp } from './app.component';
import { IonicStorageModule } from '@ionic/storage';
import { InfiniteScrollModule } from 'angular2-infinite-scroll';
import { LoginPage } from '../pages/login/login';
import { AboutPage } from '../pages/about/about';
import { ContactPage } from '../pages/contact/contact';
import { HomePage } from '../pages/home/home';
import { TabsPage } from '../pages/tabs/tabs';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { AuthServiceProvider } from '../providers/auth-service/auth-service';
import { JobsServiceProvider } from '../providers/jobs-service/jobs-service';
import { DataListProvider } from '../providers/data-list/data-list';
@NgModule({
declarations: [
MyApp,
LoginPage,
AboutPage,
ContactPage,
HomePage,
TabsPage
],
imports: [
BrowserModule,
HttpModule,
IonicModule.forRoot(MyApp),
IonicStorageModule.forRoot(),
InfiniteScrollModule
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
LoginPage,
AboutPage,
ContactPage,
HomePage,
TabsPage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
JobsServiceProvider,
DataListProvider
]
})
export class AppModule {}
在我想要使用它的文件中(home.ts)并将其包含在我的构造函数中
import { DataListProvider } from '../../providers/data-list/data-list';
constructor(public navCtrl: NavController,public DataListProvider: DataListProvider) {}
但我不断收到此错误,我错过了什么:
MyApp_Host.html:1 ERROR 错误:DataListProvider 没有提供程序! 在 injectionError (core.es5.js:1231) 在 noProviderError (core.es5.js:1269) 在 ReflectiveInjector_.throwOrNull (core.es5.js:2770) 在 ReflectiveInjector.getByKeyDefault (core.es5.js:2809) 在 ReflectiveInjector.getByKey (core.es5.js:2741) 在 ReflectiveInjector.get (core.es5.js:2610) 在 AppModuleInjector.NgModuleInjector.get (core.es5.js:3557) 在 resolveDep (core.es5.js:11017) 在 createClass (core.es5.js:10881) 在 createDirectiveInstance (core.es5.js:10701)
【问题讨论】:
-
您是否在服务类
DataListProvider中添加了@Injectable()? -
是的,我已经添加了
-
请用您的
DataListProvider.ts代码再次更新问题