Я пытаюсь перенести приложение Ionic2.beta11 в новую версию Ionic2.rc0. Большинство вещей были довольно прямолинейными, но у меня проблема с компилятором AoT.
У меня есть AuthService:
@Injectable()
export class AuthService {
constructor(@Inject(Http) http: Http) {
this.http = http;
}
...
}
Я ввожу его в свое приложение в файле src/app/app.module.ts
:
@NgModule({
declarations: [
MyApp,
...
],
imports: [
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
...
],
providers: [
AuthService
]
})
Все работает отлично, когда работает ионная подача, но когда я пытаюсь ее построить, я получаю следующую ошибку:
ngc error: Error: Error at .../.tmp/app/app.module.ngfactory.ts:397:78: Supplied parameters do not match any signature of call target.
Линии 396 - 399:
get _AuthService_74():import44.AuthService {
if ((this.__AuthService_74 == (null as any))) { (this.__AuthService_74 = new import44.AuthService()); }
return this.__AuthService_74;
}
Проблема заключается в том, что new import44.AuthService()
ожидает аргумент типа http.
Интересно, что все отлично работает, когда я вручную заменяю constructor(http: Http)
на constructor()
в файле определения.
Я прочитал все ответы StackOverflow, которые мог найти, но ни одно из решений не решило мою проблему.
Нужно ли мне менять конструктор в AuthService или как я ввожу его в свое приложение? Благодарим вас за помощь.