Vue.js 如何访问vuex store中的路由器id并将其附加到Axios get方法
嗨,我正在尝试从路由器获取id,并将其附加到axios get方法。 这是store.js中的代码 在普通Vue组件中,您可以执行以下操作:id:this.$router.id 但在vuex中,商店不起作用Vue.js 如何访问vuex store中的路由器id并将其附加到Axios get方法,vue.js,axios,vuex,Vue.js,Axios,Vuex,嗨,我正在尝试从路由器获取id,并将其附加到axios get方法。 这是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' V
#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
您可以在此处找到有关路由器实例属性的更多详细信息:尝试使用
router.currentRoute.params.m_id
我应该在getter中的何处替换它?或者在axios中。get?起作用了谢谢,但不知怎么的,它从上一条路径获取了我的数据。当我从axios发出请求时,我获得了正确的id和正确的数据。就在我刷新页面时,api中的实际内容被替换为正确的内容。很高兴我能提供帮助。请将我的回答标记为正确,以便让其他人知道答案。非常感谢。