TL:DR:在尝试使用私有构造函数参数即获取错误Supplied parameters do not match any signatures of call target
。 constructor (private http: Http) {}
参数与构造函数中的私有参数不匹配
我在设置Angular2中的私有参数时遇到了一些麻烦。我曾经想过,当一个属性在构造函数中声明为私有时,它不需要传入。这对我来说似乎很奇怪,我猜我对此的理解是错误的,但是我找不到任何信息否则有建议。下面是我的意思的例子:
constructor (private http: Http) {}
从https://angular.io/docs/ts/latest/guide/server-communication.html
在HTTP属性届时提及,但我没有看到其他地方传递任何HTTP实例。
我试图实现相同的事情,但我得到以下错误: Supplied parameters do not match any signatures of call target
,暗示,似乎是,一个Http实例需要传递给构造函数。
该程序是为'卡''画廊'。这些卡片是从使用Http的'CardService'交付的。此代码目前在该行引发错误mainGallery: Gallery = new Gallery();
import { Component } from '@angular/core';
import { Gallery } from './gallery';
import { CardService } from './card.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
providers: [ CardService ]
})
export class AppComponent {
title = 'app works!';
mainGallery: Gallery = new Gallery();
}
这里是画廊的外观:
@Component({
providers: [CardService]
})
export class Gallery{
cards: Card[] = [];
constructor(private cardService: CardService){
}
}
我也得到了同样类型的错误如果我尝试在构造中使用private http: Http
卡服务。任何帮助深表感谢!
编辑: 这是我的NgModule:
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [],
bootstrap: [AppComponent]
})
你导入的HttpModule你NgModule? – MatWaligora
@MatWaligora谢谢,现在更新了问题,以显示我的NgModule – OliverRadini
你在哪里得到这个错误?你能给更多[mcve]吗?依赖注入的确应该起作用,但如果你尝试自己创建一个新的实例,你可能会遇到问题。 – jonrsharpe