我正在创建一个以 vuejs 作为前端的电子应用程序。如何在 main.js 的单独文件中创建所有 ipcMain.on() 函数。我希望这是一个更干净的代码结构。
该应用程序必须离线工作,因此我需要将数据存储在本地数据库中。因此,当我在前端创建一个对象时,我将它与 ipcMain 发送到电子端。然后 Electron 可以将其写入本地数据库。
我想要这样的东西:
main.js:
import { app, protocol, BrowserWindow } from "electron";
import {
createProtocol,
installVueDevtools
} from "vue-cli-plugin-electron-builder/lib";
require("./ipcListeners.js");
Run Code Online (Sandbox Code Playgroud)
ipcListeners.js:
import { ipcMain } from "electron";
ipcMain.on("asynchronous-message", (event, arg) => {
console.log(arg);
event.reply("asynchronous-reply", "pong");
});
ipcMain.on("random-message", (event, arg) => {
console.log(arg);
event.reply("random-reply", "random");
});
Run Code Online (Sandbox Code Playgroud)
这里的问题是只有第一个 ipcMain.on() 函数起作用,但第二个函数......不起作用
如何输入从 pinia 存储中获取一些数据的 useAsyncData 调用返回的“数据”?
<script setup lang="ts">
import { useSale } from "~/stores/sale";
const saleStore = useSale();
const { data: vehicle, pending } = useAsyncData<{ data: IVehicle }>(
"vehicle",
() => saleStore.getVehicle
);
</script>
Run Code Online (Sandbox Code Playgroud)
目前我的 vscode 给我以下错误
No overload matches this call.
Overload 1 of 2, '(handler: (ctx?: NuxtApp) => Promise<{ data: IVehicle; }>, options?: AsyncDataOptions<{ data: IVehicle; }, { data: IVehicle; }, KeysOf<{ data: IVehicle; }>>): AsyncData<...>', gave the following error.
Overload 2 of 2, '(key: string, handler: …Run Code Online (Sandbox Code Playgroud)