vue.js - vuex中的state值,在工具类模块中怎么获取?

查看:2422
本文介绍了vue.js - vuex中的state值,在工具类模块中怎么获取?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

在.vue文件的单页面组件中可以使用this.$store,但太多接口需要经纬度信息。怎样在service.js中获取vuex的state????

store.js

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)

export default new Vuex.Store({
    state: {
        name: 'cup',
        location: {
            latitude: '31.23415',//维度
            longitude: '121.662709',//经度
            amap: {},
            cup: {
                cityCode: '440300',//城市代号
                cityName: '深圳市',
            }
        },
        userInfo:{
            id:'15800524201'
        }
    }
})

service.js

export default {
    ajax(params){
        console.log(params);
        if (params.type == 'get') {

        } else {

        }
    },
    post(params){
        //在.vue文件的单页面组件中可以使用this.$store,但太多接口需要经纬度信息。怎样在service.js中获取vuex的state????
        const _url = setUrl(params.url);
        const _data = JSON.stringify({webp: supportWebp, ...params.data});
        console.log(_data);
        Vue.http.post(_url, _data).then((response)=> {
            console.log(response);
            if(10000==response.body.code){
                params.callback && params.callback(response, 100, 'ok');
            }else{
                params.callback && params.callback(response, 0, JSON.stringify(response));
            }

        }, (err)=> {
            console.log(err);
            params.callback && params.callback(err, 0, JSON.stringify(err));
        })
    },
    get(params){
        console.log(params);
    }
}

解决方案

import store from 'src/store.js'

console.log(store.state.location.latitude)

这篇关于vue.js - vuex中的state值,在工具类模块中怎么获取?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆