【问题标题】:Call angular2 method from javascript function从 javascript 函数调用 angular2 方法
【发布时间】:2015-11-03 02:56:37
【问题描述】:

我正在使用 jquery kendo ui 网格,我试图从该编辑按钮调用 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 服务或编辑中的任何局部变量或方法

【问题讨论】:

  • 所有 Angular 方法都是 JavaScript,所以你的问题标题甚至没有意义。
  • 是的,所有角度方法都是 javascrupt 但我的标题“angular2 method”我的意思是实例的方法。因为如果你只是调用 this.edit 它不会从当前实例执行方法。

标签: javascript angular angularjs-scope kendo-grid


【解决方案1】:

试试这样的

click: function () {
   this.edit();
}).bind(this);

var self = this;
$("#grid").kendoGrid({

   click: function () {
     self.edit();
   });

【讨论】:

    猜你喜欢
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 2013-05-08
    • 1970-01-01
    相关资源
    最近更新 更多