私は
electron を使用してエディターに似たアプリケーションを作成しています。アプリケーションのメニュー バーにファイル保存機能があります:
メニュー バーはメイン スレッドにありますが、保存操作ではレンダリング スレッドのエディターでコンテンツを取得する必要があるためです。公式 Web サイトには、メイン スレッドを要求するレンダリング スレッドの例 (
ipcMain とipcRenderer) を実行しますが、 ipcMain
ipcRenderer
. を積極的にリクエストすることはできないようです。
そこで皆さんにお聞きしたいのですが、メインスレッドはどのようにしてレンダリング スレッドに積極的にリクエストして、レンダリング スレッドのメソッドを呼び出したり、レンダリング スレッドのイベントをトリガーしたりするのでしょうか?
曾经蜡笔没有小新2017-07-03 11:44:13
解決策が見つかりました^_^
イベント内で対応するデータを持ち運ぶipcMain
和ipcRenderer
中同时监听两个相同名字的事件,然后在主线程中使用focusedWindow.webContents.send('save-file')
触发ipcRenderer
的save-file
事件,在ipcRenderer
的save-file
事件中请求ipcMain
的save-file
リーリー
ipcレンダラー:リーリー
巴扎黑2017-07-03 11:44:13
最初にイベントをレンダリング スレッドにバインドできます。たとえば、ipcRenderer.on('save', save);
,然后在用户点击菜单中的 Save 时触发这个事件,然后在 save
関数でイベントをブロードキャストし、必要なデータを渡します。
少し複雑ですが、今のところ思いつくのはこれだけです。