下面是我的postData代码。我的所有请求都工作正常。当我发布帖子请求时,我得到了#34;无法读取属性' post'未定义"
@Injectable()
export class UserService {
constructor(public _http: Http) { }
postData(id: any) {
let data = { "jql": id };
let body = JSON.stringify(data);
console.log(body);
return this._http.post('/api/Desk/Tickets/Search', body, { headers: this.getHeaders() })
.map((res: Response) => res.json());
}
}
调用功能
UserService.prototype.postData(id).subscribe(data=> {
console.log('In response');
});
答案 0 :(得分:0)
虽然这有效:
UserService.prototype.postData(id).subscribe(data=> {
console.log('In response');
});
您在服务中打破了“this”引用并绕过了Angular依赖注入。您需要将服务注入其中,并使用:
_localServiceInstance.postData(...) instead of UserService.prototype...
<强>更新强>
@ AJT_82是对的,你的函数语法错误,并且弄乱了这个引用。它应该是:
legendItemClick: (e) => {
console.log(this);
return false;
}
这也是疯狂难以理解的。将事件定义为空对象:
series: {
animation: false,
point: {
events: {}
}
}
然后在选项声明或文件中的其他位置后,您只需分配事件:
this.options.plotOptions.series.point.events.legendItemClick = function(e) {
console.log(this);
return false;
};