以下代码会出现错误
// 主进程
const el = require('electron');
el.app.testMain = {
testName: 'main process object',
testCallback: function(callback) {
callback.apply(this);
}
};
// 渲染进程
const mt = require('electron').remote.app.testMain;
mt.testCallback(function() {
console.log(this.testName);
});
渲染进程的回调方法在主进程中调用时,被封装成一个名为callInRenderer
的方法,因此使用apply
绑定this
时,并没有实际绑定到渲染进程的回调方法上面。
以下代码可解决:
// 主进程
const el = require('electron');
el.app.testMain = {
testName: 'main process object',
testCallback: function(callback) {
callback.apply(null, [this]);
}
};
// 渲染进程
const mt = require('electron').remote.app.testMain;
mt.testCallback(function(ref) {
console.log(ref.testName);
});
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。