ipcMain
const { ipcMain } = require("electron");
ipcMain.handle("click-me", (_, msg) => {
return "<----" + msg + "---->";
})
ipcRenderer
const { contextBridge, ipcRenderer } = require("electron");
contextBridge.exposeInMainWorld("electron", {
platform: process.platform,
clickMe: (msg) => ipcRenderer.invoke("click-me", msg)
});
App.vue
<script lang="ts" setup>
import {ref} from "vue";
const result = ref("")
const message = ref("")
async function handleClick() {
result.value = await window.electron.clickMe(message.value)
}
</script>
<template>
<input v-model="message"/>
<button @click="handleClick">click me</button>
<p>{{ result }}</p>
</template>
简单梳理
- 页面点击;
ipcRenderer
发送;
ipcMain
处理和返回;
ipcRenderer
收取;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步