Vuex, Axios variable is undefined
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import Vue from"vue"; import Vuex from"vuex"; import axios from"axios"; import api from"./api_key"; Vue.use(Vuex); export default new Vuex.Store({ state: { data:"", location:"New York" }, mutations: { GET_DATA(state, data) { state.data = data; } }, actions: { getData({ commit }, state) { axios .get( `https://api.openweathermap.org/data/2.5/forecast/daily?q=${ state.location }&appid=${api}&units=metric&cnt=5` ) .then(data => { commit("GET_DATA", data); }) .catch(function(error) { console.log(error); }); } }, getters: { data(state) { return state.data; } } }); |
我正在使用Vue Web应用程序。对于状态管理,我决定使用vuex。我的"位置"和" api"变量在我的Axios请求地址中未定义。
要访问操作中的当前状态,您将
但是,我不明白为什么
1 2 3 4 5 | .then((response) => { if (response.data) { commit("GET_DATA", response.data); } } |
编辑:
您的
1 | export default"my_api_key"; |