Electron学习笔记:渲染进程向主进程注册回调的坑
以下代码会出现错误
// 主进程
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);
}); 相关推荐
sanallen 2020-07-04
electronvolt 2020-07-04
sanallen 2020-06-14
moyigg 2020-06-09
疯狂老司机 2020-06-07
zhujuyu 2020-06-06
moyigg 2020-06-01
zhujuyu 2020-05-30
viewerlin 2020-05-29
zhujuyu 2020-05-28
yanchuncheng 2020-05-12
Trustport 2020-05-06
chenyijun 2020-05-05
electronvolt 2020-05-04
游走的豚鼠君 2020-05-01
electronvolt 2020-04-21
游走的豚鼠君 2020-04-18