2017-12-09 5 views
0

왜이 오류가 발생합니까? IONIC 3 : "오류 : 구성 요소 공장을 찾을 수 없습니다 .... entryComponents?"

Error: No component factory found for DatabaseProvider. Did you add it to @NgModule.entryComponents?

은 내가 entryComponents 내 공급자를 추가하려고했지만 여전히 작동하지 않습니다. 내가 로컬 스토리지를 만들려고 노력하고있어,하지만 난이 공급자를 사용할 수 없습니다이 공급자로

database.ts

import { HttpClient } from '@angular/common/http'; 
import { Injectable } from '@angular/core'; 

import { Storage } from '@ionic/storage'; 

@Injectable() 
export class DatabaseProvider { 
    localData: any; 
    constructor() { 
    console.log('Database provider iniciado ..'); 
    } 
} 

내 설정 .

당신은뿐만 아니라 구성 요소 파일이 프로 바이더를 선언 할 필요가

import { NgModule, ErrorHandler } from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular'; 
import { MyApp } from './app.component'; 
import { StatusBar } from '@ionic-native/status-bar'; 
import { SplashScreen } from '@ionic-native/splash-screen'; 
import { DatabaseProvider } from '../providers/database/database'; 
import { IonicStorageModule } from '@ionic/storage'; 

@NgModule({ 
    declarations: [ 
    MyApp, 
    InicioPage, 
    SimuladorPage, 
    NosotrosPage, 
    CuestionarioPage, 
    CuestinarioPorCompetenciaPage, 
    PersonalizadoPage, 
    CRUDPage, 
    NormasPage, 
    CategoriasPage, 
    VerCategoriasPage, 
    PreguntasPage, 
    AlternativasPage, 
    FeedbackPage 
    ], 
    imports: [ 
    BrowserModule, 
    IonicModule.forRoot(DatabaseProvider), 
    IonicStorageModule.forRoot() 
    ], 
    bootstrap: [IonicApp], 
    entryComponents: [ 
    MyApp, 
    InicioPage, 
    SimuladorPage, 
    NosotrosPage, 
    CuestionarioPage, 
    CuestinarioPorCompetenciaPage, 
    PersonalizadoPage, 
    CRUDPage, 
    NormasPage, 
    CategoriasPage, 
    VerCategoriasPage, 
    PreguntasPage, 
    AlternativasPage, 
    FeedbackPage 
    ], 
    providers: [ 
    StatusBar, 
    SplashScreen, 
    {provide: ErrorHandler, useClass: IonicErrorHandler}, 
    DatabaseProvider 
    ] 
}) 
export class AppModule {} 

답변

0

app.module.ts. 예 : login.ts에서이 구성 요소를 사용하려고한다고 가정 해보십시오. 이런 식으로 보일 것입니다.

0

import { DatabaseProvider } from 'path/to/provider/file'; 
 

 
@Component({ 
 
    selector: 'page-login', 
 
    templateUrl: 'login.html', 
 
    providers: [DatabaseProvider] 
 
}) 
 

 
export class LoginPage { 
 

 
}
난 그냥 ....

새 프로젝트를했습니다
관련 문제