2017-02-09 3 views
4

が不足している私はそうのように定義されたイオン2モバイルアプリの角度2 NgModuleを持っている:XServiceのtypeを 'FactoryProvider'タイプに割り当てることはできません。プロパティ「提供」の

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

およびサービスは、このように定義:

import { Injectable } from '@angular/core'; 
import * as PouchDB from 'pouchdb'; 

@Injectable() 
export class VatRatesDbService { 

    private _db; 

    private constructor() { 
    this._db = new PouchDB('rates.db', { adapter: 'websql' }); 
    } 
} 

しかし、私は実行時に次のエラーが発生する - 'typeof VatRatesDbService'タイプは 'FactoryProvider'タイプに割り当てられません。 'typeof VatRatesDbService'に 'offer'プロパティがありません。

答えて

6

解決策は、私用修飾子をコンストラクタから削除することです。プライベートコンストラクタで注射サービスを受けることはできません。

public constructor() { 
    this._db = new PouchDB('rates.db', { adapter: 'websql' }); 
} 

か:

constructor() { 
    this._db = new PouchDB('rates.db', { adapter: 'websql' }); 
} 
関連する問題