Vue 2.0.1和Electron - Visual Flash

时间:2016-10-03 12:08:26

标签: vue.js electron

我正在创建一个视觉上与Alfred类似的应用来管理和搜索我的书签。它工作得很好,但是当我进行搜索并打开书签时,我立即隐藏了应用程序,当我再次调用它时,它返回默认模式进行可视化闪存。在隐藏应用程序之前会立即触发重置为默认值。

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

它可以工作,但在应用程序再次显示后处理重置。

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

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

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

Github Project

我目前正在研究macOS。

谢谢。

1 个答案:

答案 0 :(得分:2)

我找到了一种简单的方法,你不能依赖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