javascript - 在 Electron 中处理表单的正确方法是什么?

标签 javascript node.js forms electron

表单 html 和提交事件是“渲染器”的一部分。 提交的数据应该在主进程中可用。 提交表单并使该数据在 main.js 中可访问的正确方法是什么?

我应该简单地使用“远程”模块将数据从 main.js 传递给函数还是有更好的方法?

最佳答案

我们使用服务(Angular)来处理窗口中的表单数据。如果需要,然后通知 remote


从您的 renderer 您可以将数据发送到 ipc,然后在您的 main.js 中捕获此事件和传递的表单数据:

// renderer.js
let ipcRenderer = require('electron').ipcRenderer;
ipcRenderer.send('submitForm', formData);

// main.js
ipcMain.on('submitForm', function(event, data) {
   // Access form data here
});

您还可以从 main.js 将消息发送回 renderer

同步:

// main.js
ipcMain.on('submitForm', function(event, data) {
   // Access form data here
   event.returnValue = {"any": "value"};
});

异步:

// main.js
ipcMain.on('submitForm', function(event, data) {
   // Access form data here
   event.sender.send('formSubmissionResults', results);
});

// renderer.js
ipcRenderer.on('formSubmissionResults', function(event, args) {
   let results = args.body;
});

关于javascript - 在 Electron 中处理表单的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43311513/

相关文章:

javascript - Jquery/javascript 方式发送 50 个表单,就好像它是 1 个表单一样?

javascript - AngularJS - 从元素中动态删除指令

javascript - 如何从html页面解析json中的图像

javascript - Node : Downloading a zip through Request, Zip 已损坏

mysql - 是否可以使用sequelize部分更新行?

javascript - 如何将FormData转换为对象?

javascript - 通过向 Facebook API 发送 HTTP 请求来创建帖子

javascript - 滚动指令在 Angular JS 中不起作用

javascript - 遇到 Async/Await Promise 问题 - Javascript/Nodejs

javascript - 将按钮转换为表单(展开)