javascript - TypeError:无法读取 ipcMainImpl 处未定义的属性“webContents”。在电子
问题描述
在我的电子项目中,我在尝试从不同窗口发送和接收数据时收到以下 TypeError。
我的进口
const electron = require("electron");
const url = require("url");
const path = require("path");
const { Menu } = require("electron/main");
const { webContents } = require("electron");
const { app, BrowserWindow, ipcMain } = require("electron");
错误地点
发送数据
<script>
const electron = require("electron");
const { ipcRenderer } = electron;
const form = document.querySelector("form");
form.addEventListener("submit", submitForm);
function submitForm(e) {
e.preventDefault();
const item = document.querySelector("#item").value;
ipcRenderer.send("item:add", item);
}
</script>
接收数据
// Catch item:add
ipcMain.on("item:add", function (e, item) {
console.log(item);
mainWindow.webContents.send("item:add", item);
addWindow.close();
});
解决方案
我弄清楚了我的错误在哪里,所以我正在回答我自己的问题。
看来我试图发送尚未完全接收的数据,因此我不得不等待我的页面加载,然后按如下方式发送数据。
ipcMain.on("item:add", function (e, item) {
mainWindow.webContents.on("did-finish-load", () => {
mainWindow.webContents.send("item:add", item);
});
});
推荐阅读
- typescript - 将多个文件中的夹具和测试导入 main.js 文件时,TestCafe“未定义夹具”错误
- c# - C# 使用字符串命名类的实例
- wpf - LiveCharts 数据点标签重叠
- botframework - 在哪里可以找到网络聊天的类型值
- android - 如何为自定义 TextInputLayout 设置默认样式
- flutter - 扑; TextField RegExp 文本中不同位置的不同比例
- javascript - Node.js - 即使分配了全局变量,它也会退休
- r - 您如何遍历所有列以在 ggplot 中绘制多个系列?
- rust - 为什么我不能在 NEAR 合约中读取这个 HashMap?
- php - 根据 WooCommerce 结帐中的打开、关闭和休息时间添加具有时间间隔的选择字段