如何使“此”对象进入回调函数?

时间:2019-03-18 20:01:51

标签: javascript jquery w2ui

如何将其纳入回调?

从此开始工作。

$('#grid').w2grid({
  name : 'grid',
// Lost of setup
  onMenuClick: function(event) {
    $.getJSON('?json=json&action=E&id=' + event['recid'], function(data) {
//    do some work
    });
    this.reload();
  },
});

然后仅在请求有效的情况下调用重新加载。

$('#grid').w2grid({
  name : 'grid',
// Lost of setup
  onMenuClick: function(event) {
    $.getJSON('?json=json&action=E&id=' + event['recid'], function(data) {
//    do some work
      this.reload();
    });
  },
});

当然,“ this”不再引用我要访问的对象。

或者我将如何获得父对象?

2 个答案:

答案 0 :(得分:0)

您可能只是在回调中bind this

注意:注意任何副作用。显然,您似乎不需要在回调中使用新的this

尝试:

$('#grid').w2grid({
  name: 'grid',
  onMenuClick: function(event) {
    $.getJSON('?json=json&action=E&id=' + event['recid'], (function(data) {
      this.reload();
    }).bind(this));
  }
});

当箭头功能为available时,我建议使用它们而不是绑定它们。

答案 1 :(得分:0)

您可以这样做:

let parent = this;
$.getJSON('?json=json&action=E&id=' + event['recid'], function(data) {
//    do some work
      parent.reload();
    });