2016-10-03 72 views
0

我创建的应用程序在视觉上类似于Alfred来管理和搜索我的书签。它运行良好,但是当我搜索并打开书签时,我立即隐藏了应用程序,当我再次调用它时,它会返回默认模式,执行可视化闪光。在隐藏应用程序之前触发重置为默认值。Vue 2.0.1和Electron - Visual Flash

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

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

当应用程序被隐藏或在vue重新加载后显示它时,我不知道该怎么做。

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

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

Github Project

我工作的那一刻Mac系统。

谢谢。

回答

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