私は自分のアプリケーションページの1つにGoogle Mapsの機能を追加しようとしています。このチュートリアルに従っています:http://www.joshmorony.com/creating-an-advanced-google-maps-component-in-ionic-2/
ステージ1で、私のapp.module.tsを更新してConnectivityService
プロバイダリストに追加します。
このページには例がありますが、私のアプリケーションにはすでに2つのプロバイダがあり、追加の前に次の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';
私のプロバイダを次のように変更しました:
プロバイダー:[{提供:ErrorHandler、useClass:IonicErrorHandler、ConnectivityService}]
しかし、私はエラーが発生します:
型の引数{宣言:(typeof Page1 | typeof Page2 | typeof MyApp)[];インポート:ModuleWithProviders []; b ... 'はありません タイプ 'NgModule'のパラメータに割り当てることができます。プロパティの種類 「プロバイダ」は互換性がありません。 タイプ '{提供:typeof ErrorHandler; useClass:typeof IonicErrorHandler; ConnectivityService:typeof C ... 'を割り当てることはできません 「プロバイダ[]」と入力します。 タイプ '{提供:typeof ErrorHandler; useClass:typeof IonicErrorHandler; ConnectivityService:typeof C ... 'を割り当てることはできません 「プロバイダ」と入力します。 オブジェクトリテラルは既知のプロパティのみを指定し、 'ConnectivityService'は 'Provider'型に存在しません。
私が次のように変更すると、同じ種類のエラーが発生します。
providers: [{provide: ErrorHandler, useClass: IonicErrorHandler, connectivityService:ConnectivityService}]
私がそれをする正しい方法は何ですか?
ありがとう!
私はそれを見つけた、私は書かなければならなかった:
providers: [ConnectivityService, {provide: ErrorHandler, useClass: IonicErrorHandler}]
しかし、私はなぜそれが動作し、何が{}でなければならないのか分からない