簡體   English   中英

從electron-vue中的菜單項訪問瀏覽器窗口

[英]Access Browser Window from menu item in electron-vue

我正在嘗試添加一個菜單項,它將加載設置窗口vue組件的URL。 我按照這個來創建我的菜單

問題是我如何點擊這里訪問我的createWindow()方法中的方法,在那里我可以觸發加載browserWindow來設置文件。

我試圖添加一個試圖在createWindow()中訪問函數但沒有運氣的點擊監聽器

mainmenu.js

const {Menu} = require('electron')
const electron = require('electron')
const app = electron.app

const template = [
  {
    label: 'Custom',
    submenu: [
      {
        label: 'Setting',
        click (item, focusedWindow) {
          loadSettingWindow()
        }
      }
    ]
  }
]

const menu = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(menu)

index.js

'use strict'

import { app, BrowserWindow } from 'electron'

let mainWindow
let serviceWindow

const winURL = process.env.NODE_ENV === 'development'
  ? `http://localhost:9080`
  : `file://${__dirname}/index.html`

function createWindow () {
  /**
   * Initial window options
   */
  mainWindow = new BrowserWindow({
    height: 563,
    useContentSize: true,
    width: 1000
  })

  mainWindow.loadURL(winURL)

  mainWindow.on('closed', () => {
    mainWindow = null
  })

  function loadSettingWindow () {
    console.log('trigger setting window here')
  }
  require('./mainmenu')
}
app.on('ready', createWindow)

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', () => {
  if (mainWindow === null) {
    createWindow()
  }
})

我期望click事件將調用觸發函數loadSettingWindow但它似乎沒有訪問它。

您無法直接從主進程到渲染器進程。 但是您可以使用IPC向呈現進程發送消息並在Vuejs存在的地方處理它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM