2017-07-02 8 views
3

vue-axios auth by api_token私はヘルパーファイルapi.jsを使用します。ヘルパー機能でVuexストアにアクセスするには?

私はエラーが発生しました - Uncaught TypeError:未定義のプロパティ 'getters'を読み取ることができません。

私はapi.jsヘルパーがVuex $ storeというグローバルストレージを認識しないと思います。

他のコンポーネントでは、私はインポートVuexストレージは必要ありません、彼はアプリの任意の場所でavalaible。

どのようにこれを使用しますか?ヘルパーで$ storage?

//api.js 
import axios from 'axios' 

let api_token = this.$store.getters.get_api_token //got error! 


export function get(url) { 
    return axios({ 
     method: 'GET', 
     url: url, 
     headers: { 
      'Authorization': `Bearer ${api_token}` 
     } 
    }) 
} 

//Vuex 
import Vue from 'vue' 
import Vuex from 'vuex' 

Vue.use(Vuex); 

const store = new Vuex.Store({ 
    state: { 
     api_token: 'vnbnvnvnvb', 

    }, 
    getters: { 
     get_api_token(state){ 
      return state.api_token 
     } 
    }, 
}); 

export default store 


//App.vue 
import {get} from './helpers/api'; 
export default { 

    created() { 
     get(`/api/user/${1}`) 
      .then((res) => { 
       ///do it 
      }) 
      .catch((err) => { 
       console.log(err); 
      }) 

    } 
} 

答えて

関連する問題