如何将连接服务提供商添加到我的应用程序?

时间:2016-12-04 14:44:52

标签: ionic-framework ionic2

我正在尝试将谷歌地图功能添加到我的应用页面之一,我正在学习本教程:http://www.joshmorony.com/creating-an-advanced-google-maps-component-in-ionic-2/

在第1阶段。我需要更新我的app.module.ts,将ConnectivityService包含在提供者列表中。

该页面提供了一个示例,但在我的应用程序中,我已经有两个提供程序,这使我在添加之前拥有以下app.module.ts:

import { NgModule, ErrorHandler } from '@angular/core';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { MyApp } from './app.component';
import { Page1 } from '../pages/page1/page1';
import { Page2 } from '../pages/page2/page2';
import { MapPage } from '../pages/map/map';

@NgModule({
  declarations: [
    MyApp,
    Page1,
    Page2,
    MapPage
  ],
  imports: [
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    Page1,
    Page2,
    MapPage
  ],
  providers: [{provide: ErrorHandler, useClass: IonicErrorHandler}]
})
export class AppModule {}

然后,为了适应我在开头添加的教程

import { ConnectivityService } from '../providers/connectivity-service';

并将我的提供商更改为:

providers:[{provide:ErrorHandler,useClass:IonicErrorHandler,ConnectivityService}]

但是我收到了错误:

  

类型的参数'{声明:( typeof Page1 | typeof Page2 |   typeof MyApp)[]; import:ModuleWithProviders []; b ......'不是   可分配给'NgModule'类型的参数。财产类型   '提供者'是不相容的。       输入'{provide:typeof ErrorHandler; useClass:typeof IonicErrorHandler; ConnectivityService:typeof C ...'不可分配   输入'Provider []'。         输入'{provide:typeof ErrorHandler; useClass:typeof IonicErrorHandler; ConnectivityService:typeof C ...'不可分配   输入'提供商'。           对象文字只能指定已知属性,“提供者”类型中不存在“连接服务”。

如果我改为:

,我会遇到同样的错误
  providers: [{provide: ErrorHandler, useClass: IonicErrorHandler,  connectivityService:ConnectivityService}]

我这样做的正确方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

好的我找到了,我应该写:

  providers: [ConnectivityService, {provide: ErrorHandler, useClass: IonicErrorHandler}]

但我不知道为什么这样有效,应该在{}和应该是什么