IT

vuex 스토어의 라우터 ID에 액세스하고 Axios get 메서드에 추가하려면 어떻게 해야 합니까?

itgroup 2023. 7. 2. 19:13
반응형

vuex 스토어의 라우터 ID에 액세스하고 Axios get 메서드에 추가하려면 어떻게 해야 합니까?

안녕하세요. 라우터에서 id를 받아서 axios get method에 추가하려고 합니다.이것은 store.js의 코드입니다. 정상적인 Vue 구성 요소에서는 다음과 같은 작업을 수행할 수 있습니다: id: this.$router.id 그러나 vuex 스토어에서는 작동하지 않습니다.

#How can I do the same thing but in Vuex
import Vue from 'vue'
import Vuex from 'vuex'
import Axios from 'axios';
import router from './router'

Vue.use(Vuex)
Vue.use(Axios)
Vue.use(router)

export default new Vuex.Store({
  // data() {
  //   return {
  //     m_id:this.$route.params.m_id

  //   }
  // },
  // m_id : this.$route.params.m_id,

  state: {
    video_key: [],
  },
  mutations: {
    updateInfo (state , video_key){
      state.video_key = video_key
    }
  },
  getters:{
    m_id : this.route.params.m_id 
  },
  actions: {

    fetchData({commit,getters}){
      axios.get(`https://api.themoviedb.org/3/movie/${this.m_id}/videos?api_key=7bc75e1ed95b84e912176b719cdeeff9&language=en-US`)
        .then(response =>{
          commit('updateInfo',response.data.results[0].key)
        })
    }
  }
})

교체하다this.route.params.m_id와 함께router.currentRoute.params.m_id.

라우터 인스턴스 속성에 대한 자세한 내용은 다음 링크에서 확인할 수 있습니다.

언급URL : https://stackoverflow.com/questions/55167013/how-can-i-access-the-router-id-in-vuex-store-and-to-append-it-to-axios-get-metho

반응형