我正在尝试将谷歌地图功能添加到我的应用页面之一,我正在学习本教程: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}]
我这样做的正确方法是什么?
谢谢!
答案 0 :(得分:0)
好的我找到了,我应该写:
providers: [ConnectivityService, {provide: ErrorHandler, useClass: IonicErrorHandler}]
但我不知道为什么这样有效,应该在{}和应该是什么