使用此参考:Angular2 - how to call component function from outside the app
我试图在我的组件之外调用函数。 我打电话的功能有服务电话:
private updateContact(contact) {
this._myService.updateClientContacts(contact).subscribe(updateData => this._myService.getClientContacts());
}
我试着这样做:
dataSourceOptions.transport = {
read: function(e){
e.success(griddata);
},
update: function (e) {
// locate item in original datasource and update it
griddata[getIndexById(e.data.ContactID)] = e.data;
window['clientComponentRef'].zone.run(() => {window['clientComponentRef'].component.updateContact(griddata[getIndexById(e.data.ContactID)]).bind(this);});
//on success
e.success();
// on failure
//e.error("XHR response", "status code", "error message");
}
我也尝试在这行代码中没有.bind(this):
window['clientComponentRef'].zone.run(() => {window['clientComponentRef'].component.updateContact(griddata[getIndexById(e.data.ContactID)]).bind(this);});
但它没有帮助。
但它返回错误405,我无法访问myService并发布已编辑的项目。有谁知道如何解决这个问题? 谢谢!