下面是我的组件文件中的代码片段无法读取的未定义的属性“后” - 角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,我现在无法接受它... –