我正在使用 Vuex 从 Youtube 数据 api 获取数据,以便我通过提交状态来设置动态播放列表 ID 当我提交和调度一个动作时,getter 值不会根据提交的状态 playlistId 进行更新
const state = {
id: '',
list: []
}
const getters = {
allUsers: (state) => state.users,
allVideos: (state) => state.list,
}
const actions = {
getVideos({ commit } , id) {
state.id = id
axios
.get('https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=50&channelId=Channel_idplaylistId='+state.id+'&key=API_KEY')
.then(video => {
commit('SET_VIDEO', video)
})
}
}
const mutations = {
ChangeId (state, i) {
state.id = i
},
SET_VIDEO(state, list) {
state.list = list
}
}
在我的组件中
mounted : function(){
this.$store.commit('ChangeId', DynamicId )
this.$store.dispatch("getVideos", DynamicId )
.then(() => {
setTimeout(() => this.videos = this.$store.getters.allVideos.data.items , 1000);
})
},</code>
我尝试超时 1000 毫秒 它在 localhost 中工作正常,但在低网络速度下失败