从javascript函数调用angular2方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从javascript函数调用angular2方法相关的知识,希望对你有一定的参考价值。

我正在使用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服务或任何局部变量或编辑内的方法

答案

尝试这样的事情

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

要么

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

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

以上是关于从javascript函数调用angular2方法的主要内容,如果未能解决你的问题,请参考以下文章

Angular2 - 从另一个独立组件调用函数。基本上,从外部组件调用函数

通过单击按钮从 HTML 调用 Angular2 组件函数

Angular 2:从订阅 http.post 获得响应后如何调用函数

如何从方法内部调用 javascript 函数?

从 ASP.NET Core Blazor 中的 .NET 方法调用 JavaScript 函数

Angular2 Click 方法总是返回 false 值