IT이야기

Nuxt, router.js(@nuxt/router)의 vuex 저장소에 액세스

cyworld 2022. 4. 18. 21:46
반응형

Nuxt, router.js(@nuxt/router)의 vuex 저장소에 액세스

@nuxt/router 모듈을 사용하여 라우터가 있는 라우터.js를 가지고 있으며 라우터에서 몇 가지 작업을 하고 싶다.각각...서로 다른 저장소 모듈의 상태 값에 따라 달라진다.

내 저장소 폴더는 다음과 같다: index.js, auth.js, language.js...

Nuxt는 처음 접하는 건데, 이 경로 파일에서 어떻게 하면 상점에 접근할 수 있는지 이해가 안 돼.가져올 때 오류가 발생하는 경우 컨텍스트를 삽입해야 하는가? 컨텍스트가 이미 사용 가능한가?스토어 설정을 변경하고 내보내시겠습니까?미들웨어를 사용하시겠습니까?

나는 부분적으로 거기에 가고 싶었다.import {state} from '@/store/language'그리고 나서 가치를 얻는 것state().activeLang그러나 이 값은 스토어 값이 변경될 때 업데이트되지 않으며, 한 번의 가져오기로 필요한 부분만 처리할 수 있다.

내 라우터.js 파일은 다음과 같다:

import Vue from 'vue'
import Router from 'vue-router'

import Home from '@/views/Home/Home'
import Admin from '@/views/Admin/Admin'

Vue.use(Router)

//do I need to pass the context into this function ???

export function createRouter() {
  const router = new Router({
    mode: 'history',
    routes: [
      { path: '/', component: Home, name: 'home' },
      { path: '/admin', component: Admin, name: 'admin' },
    ]
  })

  router.beforeEach((to, from, next) => {

   // do stuff here...
   // e.g. check auth store if user is authenticated
   // e.g. get active language from language store

    return next();
  });

  return router
}``` 

참조URL: https://stackoverflow.com/questions/62114409/nuxt-accessing-vuex-store-in-router-js-nuxt-router

반응형