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