javascript - AngularJS 1.6 + ES6 - 将 jquery ui-grid 回调数据返回给 Controller

标签 javascript jquery angularjs angularjs-scope

<分区>

我在我的 Controller 中定义了一个 jquery ui-grid 组件,它的缩小示例如下所示:

class myController {
    constructor($scope) {        

        this.$scope = $scope; 

        this.Grid = {                               

            selectionSettings:{
                clientHandler:function(key,object,data){
                    console.log(key);
                    console.log(object);
                    console.log(data);                    
                    console.log(this);
                    return data;                        
                    //the scope of this function is different from the controller scope.                          
                    }              
           }
       }

       receiver(data){
             doSomething(data);
       }
    ...

想法是当我在网格中选择一个条目时,clientHandler 中的函数被触发。然后,我希望此函数将该数据传递给此类中的接收函数

但是由于这个 clientHandler 函数和 receiver() 在不同的范围内,我不能直接使用 this 关键字。

stackoverflow 上的其他答案建议使用 $scope 对象来完成相同的任务,但我无法这样做。

clientHandler 函数调用 receiver() 需要什么?

热切欢迎任何指导。谢谢

最佳答案

存在 ES6 箭头函数来提供词法 this 并避免 self = this 技巧,这在 ES6 中通常是不必要的:

clientHandler: (key,object,data) => {
  this.receiver(data);   
}  

关于javascript - AngularJS 1.6 + ES6 - 将 jquery ui-grid 回调数据返回给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47938243/

相关文章:

Javascript 区分组合与继承

javascript - 模态在大屏幕上不起作用

javascript - 使用 JS/Jquery 翻转图像

javascript - jQuery 使用数据 id 对元素进行排序

javascript - 复 Protractor 选择器

javascript - AngularJs 计数器可计数到特定目标数

javascript - 谷歌面试问题

javascript - 使用jquery分页

javascript - 错误: 'Uncaught SyntaxError: Unexpected token <' (Django + React + Webpack)

angularjs - ionic 路由 TypeError : $state. $current.locals 未定义