Vue 2.0.1 和 Electron - 视觉 Flash

Vue 2.0.1 and Electron - Visual Flash

我正在创建一个外观类似于 Alfred 的应用程序来管理和搜索我的书签。它运行良好,但是当我进行搜索并打开书签时,我会立即隐藏该应用程序,当我再次调用它时,它 return 进入默认模式并进行视觉闪烁。重置为默认值是在隐藏应用程序之前触发的。

我这样隐藏应用程序:remote.app.hide() 并且我在我的组件中的 win.hide 上添加了一个侦听器以重置 vue。

有效,但重置是在应用程序再次出现后处理的。

我不知道如何在应用程序隐藏时或在重新加载 vue 后立即显示它。

如果你有任何线索,那就太好了。

我在 Github 上创建了一个示例项目,您可以克隆并测试这个问题。

Github Project

我目前正在使用 macOS。

谢谢。

我找到了一个简单的方法,你不能依赖 window.on('hide') 事件。

因此,在您的快捷方式注册中,我让您的应用发出一个自定义事件,您的 Vue.js 将在隐藏应用之前收听重置您的输入:

main.js

const retShow = globalShortcut.register('CmdOrCtrl+Alt+V', () => {
  if (!win.isVisible()) {
    win.show()
  } else {
    app.emit('hide-window'); // Let the window hide the app
  }
})

在您的 Vue.js 应用中,在创建的挂钩中:

app.js

app.on('hide-window', function () {
  vm.reset();
  setTimeout(app.hide, 10);
});

这是我的拉取请求:https://github.com/Cronos87/electron-vue-flash-issue/pull/1/files