2017-03-21 8 views
1

activateイベントが発生したときに、特定のルートをロードする方法がわかりにくいです。私はElectron-Vue frameworkを用いた電子アプリケーションを作成していると私は、これらの次のルートました:特定のルートをElectron App Activateイベントにロードする方法

app.on('activate',() => { 
    if (mainWindow === null) { 
    createWindow() 
    } 
}) 
を: app.on('activate')は、以下に発射されると今

export default [ 
    { 
    path: '/', 
    name: 'login-page', 
    component: require('components/LoginPageView') 
    }, 
    { 
    path: '/tracker', 
    name: 'tracker-page', 
    component: require('components/TrackerPageView') 
    }, 
    { 
    path: '*', 
    redirect: '/' 
    } 
] 

を、私は/trackerルートをロードしたいのですが

これの主な理由は、2つのウィンドウElectronアプリケーションを作成していることです。最初のウィンドウはログインになり、2番目のウィンドウはユーザープロファイルになります。ユーザーが既にログインしてシステム閉じるボタンを使用してアプリケーションを終了すると、アプリケーションはDockバーに残り、アプリケーションがクリックされるとElectron activateイベントが発生し、ログイン画面が再び表示されます。ユーザーはすでにログインしているので、ログインウィンドウを再度表示する必要はありません。どんな提案も感謝しなければならない。

答えて

0

最後に、Vue-Router Per-Route GuardbeforeEnterメソッドを使用してこれを達成することができました。ここに私の案です:

let auth = true 

export default [ 
    { 
    path: '/', 
    name: 'login-page', 
    component: require('components/LoginPageView'), 
    meta: { 
     auth: false 
    }, 
    beforeEnter: (to, from, next) => { 
     if (auth) { 
     next('/tracker') 
     } else { 
     next() 
     } 
    } 
    }, 
    { 
    path: '/tracker', 
    name: 'tracker-page', 
    component: require('components/TrackerPageView'), 
    meta: { 
     auth: true 
    } 
    }, 
    { 
    path: '*', 
    redirect: '/' 
    } 
] 

どれフィードバックがさらに良く、これを改善するために大歓迎です:)

関連する問題