node.js - Electron メイン スレッドとレンダリング スレッド間の通信の問題 (Menubar イベントがレンダリング スレッドからデータを取得する方法)
大家讲道理
大家讲道理 2017-07-03 11:42:13
0
2
1270
###こんにちは、みんな:###

私は

electron

を使用してエディターに似たアプリケーションを作成しています。アプリケーションのメニュー バーにファイル保存機能があります:

メニュー バーはメイン スレッドにありますが、保存操作ではレンダリング スレッドのエディターでコンテンツを取得する必要があるためです。公式 Web サイトには、メイン スレッドを要求するレンダリング スレッドの例 (

ipcMain とipcRenderer

) を実行しますが、 ipcMain ipcRenderer. を積極的にリクエストすることはできないようです。 そこで皆さんにお聞きしたいのですが、メインスレッドはどのようにしてレンダリング スレッドに積極的にリクエストして、レンダリング スレッドのメソッドを呼び出したり、レンダリング スレッドのイベントをトリガーしたりするのでしょうか?

###ありがとう!###
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(2)
曾经蜡笔没有小新

解決策が見つかりました^_^

イベント内で対応するデータを持ち運ぶipcMainipcRenderer中同时监听两个相同名字的事件,然后在主线程中使用focusedWindow.webContents.send('save-file')触发ipcRenderersave-file事件,在ipcRenderersave-file事件中请求ipcMainsave-file

ipcメイン:

リーリー

ipcレンダラー:

リーリー

いいねを押す +0
巴扎黑

最初にイベントをレンダリング スレッドにバインドできます。たとえば、ipcRenderer.on('save', save);,然后在用户点击菜单中的 Save 时触发这个事件,然后在 save 関数でイベントをブロードキャストし、必要なデータを渡します。

少し複雑ですが、今のところ思いつくのはこれだけです。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート