如何将 "this" 对象放入回调函数?
How to get "this" object in to a callback function?
如何将其放入回调中?
从这个开始,成功了。
$('#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"不再引用我要访问的对象了。
或者我如何获得父对象的访问权限?
您可以在回调中 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 时,我建议使用它们而不是绑定它。
你可以这样做:
let parent = this;
$.getJSON('?json=json&action=E&id=' + event['recid'], function(data) {
// do some work
parent.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();
},
});
然后仅在请求有效时才调用重新加载。
$('#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"不再引用我要访问的对象了。
或者我如何获得父对象的访问权限?
您可以在回调中 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 时,我建议使用它们而不是绑定它。
你可以这样做:
let parent = this;
$.getJSON('?json=json&action=E&id=' + event['recid'], function(data) {
// do some work
parent.reload();
});