gpt4 book ai didi

javascript - ¿如何通过Preload将数据从mysql打印到渲染器?

转载 作者:行者123 更新时间:2023-12-03 12:36:50 24 4
gpt4 key购买 nike

如您所知,Electron的持久版本不允许我们在渲染器进程上使用Node,我已经学习了如何通过预加载将IPC从渲染器发送到主服务器,购买我需要帮助来打印来自mysql数据库send和IPCMain的数据obj并通过预加载将其放在渲染中。
这是我尝试过的方式,但是没有任何效果。

//preload
const { contextBridge, ipcRenderer} = require('electron')
contextBridge.exposeInMainWorld('electron',{
recived: (obj) =>{
ipcRenderer.on('print-users', (event, obj) =>{
let template = ""
const list = obj
list.forEach(element => {
template += '<tr> <td>${element.nombre}</td> <td>${element.pass}</td> </tr>'})
return template})
}
})


//renderer
let mylist;
mylist = document.getElementById("mylist")
window.electron.insertobj(obj)
mylist.innerHTML = template
names.value = ""
PromiseRejectionEvent.value = ""

//main
function getdata(){
const stm = "Select * from Test"
conn.query(stm,obj, (error,results, fields)=>{
if(error){console.log(error)}
ipcMain.send('print-users', results)
})
}
这是我尝试的方法,我有更多代码,但可能是其中的额外功能,我需要了解 Electron 的人的帮助,我对新想法持开放态度,并告诉我您是否对我的代码有疑问。
抱歉,如果我的帖子中没有那么多的内容,我是新来的...

最佳答案

我找到了一种方法。

Preload

//Create the contextbridge function
contextBridge.exposeInMainWorld(
"electron",{
//get obj of query and order it whit forEach
getiemson: (results) => ipcRenderer.on("Test",(event, results) => {
results.forEach(elements => {
//insert the data in to the html
itemlist.innerHTML += `<tr>
<td>${ elements.nombre } <td>
<td>${ elements.pass } <td>
</tr>`;
});
});
});

Main

//send data to the preload to render it
ipcMain.handle("get", () => {
getitemns();
});

//query function
function getitemns() {
const stm = "Select * from table";
conn.query(stm, (error, results, fields) => {
if (error) {
console.log("error");
}
test.webContents.send("table", results);
});
}

renderer or HTML

//call the html place for the data
let itemlist;
document.addEventListener("DOMContentLoaded", function () {
itemlist = document.getElementById("itemlist");
getitems();
});

//query for mysql to main
async function getitems() {
await window.electron.getitem();
}
//call the IPCRender function
window.electron.getiemson();
如果您需要通过 Electron 上的预加载从mysql打印数据,这是我发现的唯一方法,如果您正在以其他方式阅读此书,我很乐意阅读

关于javascript - ¿如何通过Preload将数据从mysql打印到渲染器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66639935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com