小编Sve*_*kke的帖子

如何将 ipcMain.on() 函数与 main.js 中的不同文件分开

我正在创建一个以 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() 函数起作用,但第二个函数......不起作用

vue.js electron ipcmain

6
推荐指数
1
解决办法
5480
查看次数

如何在 Nuxt 3 中输入 useAsyncData 调用的返回值

如何输入从 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)

typescript vue.js nuxt.js pinia

5
推荐指数
1
解决办法
4952
查看次数

标签 统计

vue.js ×2

electron ×1

ipcmain ×1

nuxt.js ×1

pinia ×1

typescript ×1