我正在使用jquery kendo ui grid并从该编辑按钮我试图调用angular2方法。我的设置很简单:
export class UserComponent implements OnInit {
constructor( @Inject(UserService) public userService: UserService, @Inject(FormBuilder) public fb: FormBuilder) {
...
}
edit():void{ }
onInit() {
$("#grid").kendoGrid({
....
click: function () {
// Call angular2 method of the current instance
});
}
}
这是工作代码唯一的问题是这个。我可以通过声明
来调用angular2方法 click:this.edit
或
click: function () {
UserComponent.prototype.edit()
});
但在这两种情况下,该方法都不是来自当前实例。所以在这种情况下我无法使用http服务或编辑内的任何局部变量或方法
答案 0 :(得分:7)
尝试这样的事情
click: function () {
this.edit();
}).bind(this);
或
var self = this;
$("#grid").kendoGrid({
click: function () {
self.edit();
});