下面是我的組件文件中的代碼片段無法讀取的未定義的屬性「後」 - 角2
import { Component,Injectable,Inject,OnInit, OnDestroy, EventEmitter,Output } from '@angular/core';
import { Http, Response, Headers, RequestOptions } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';
import 'rxjs/add/operator/switchMap';
...
@Injectable()
export class MyComponent {
constructor (private http: Http) { }
saveDetails()
{
var response:any;
var body = customer_details;
var headers = new Headers({ 'Content-Type': 'application/json' });
var options = new RequestOptions({ headers: headers });
this.http.post("/user/add-customer-details", body, options)
.map((res:Response) => res.json()).subscribe(
data => { response = data},
err => console.error(err),
() => {
console.log(response);
}
);
}
}
沒有編譯錯誤或任何其他錯誤,但 當我打電話POST方法它的說法Cannot read property 'post' of undefined
所以我試圖console.log(this.http);
POST方法調用之前正確的,那麼它的顯示瀏覽器控制檯undefined
,我嘗試了所有可能的解決方案,但無法理解爲什麼它不工作,請幫助...
在此先感謝! !
你如何調用'saveDetails'?爲什麼使用'@ Injectable'作爲組件? – yurzui
我在我的視圖中有以下按鈕''按鈕類型=「按鈕」(點擊)=「saveDetails()」class =「btn btn-default」>保存詳細信息'我只是單擊按鈕... @yurzui –
我已經找到解決方案,並將其發佈爲答案@echonax,我現在無法接受它... –