やりたいこと
nuxt.jsをしようしてrouterでログインしているuserがいるかどうかでリダイレクトさせたいのですが、vue cliを使用していた時はrouter.jsが利用できたのですがnuxtでは自動で設定されるのでどのように記述すればよいのかご教授いただきたいです。
ためしたこと
ミドルウェアで app.router.beforeEachでstoreのactionでuserがいるかどうかを判定して、
getteresでuserの判定結果を取得しています。
しかしapp.router.beforeEach内が動いていないようです。
./router.jsに直接書きたいのですが自動で生成されてるので上書きされるのでは?
という不安があります。
コード
nuxt.config.js
nuxt.config.js
1 router: {middleware: 'authenticated'},
authenticated.js
authenticated.js
1export default async ({ app, store ,route }) => { 2 await store.dispatch('changedUser'); 3 console.log('動いている'); 4 5 app.router.beforeEach((to, from,next) => { 6 console.log('動いていない'); 7 const getStateLogin = store.getters.getStateLogin; 8 if (!getStateLogin){ 9 if( route.name != 'login' && route.name != 'signup' ){ 10 next('/login') 11 } 12 } 13 if (getStateLogin && route.name === 'login') { 14 next('/') 15 } 16 next() 17 })
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。