Значение обновления состояния хранилища vuex в middleware check-auth.js, но не может получить обновленное значение в представлении vue - PullRequest
0 голосов
/ 17 января 2019

Я использую nuxtjs для myProject, я использую axios, чтобы получить информацию об аутентификации в minddleware / check-auth.js и зафиксировать флаг для store.state.isSEPCNavFlag; Но я не могу получить обновленное значение isSEPCNavFlag в виде vue, значение всегда равно нулю. кто-нибудь может мне помочь? пожалуйста ...

магазин / index.js

import axios from 'axios'
import echarts from 'echarts'
import Vue from 'vue'
import Vuex from 'vuex'
import { saveToken, delToken } from '@/utils/auth'
Vue.use(Vuex)

export const strict = true

export const state = () => ({
  authUser: null,
  user: '',
  locale: null,
  locales: ['zh', 'en'],
  isMenuHidden: true,
  isSEPCNavFlag:null,
})

export const mutations = {
  SET_SEPCFLAG: function (state, isSEPCNavFlag) {
      state.isSEPCNavFlag = isSEPCNavFlag
    },

  SET_TOKEN: function (state, token) {
    state.authUser = token
  },
  SET_USER: function (state, user) {
    state.user = user
  },
  SET_MENUS: function (state, menus) {
    state.menus = menus
  },
  SET_LANG (state, locale) {
    if (state.locales.indexOf(locale) !== -1) {
      state.locale = locale
    }
  },
  TOGGLE_MENU_HIDDEN: function (state) {
    state.isMenuHidden = !state.isMenuHidden
  }
}

minddleware / чек-auth.js

async function toNavTO(token,store) {
  var returnData = await funcAsync(token)
  var ACNameIndex = returnData.data.indexOf("<AccountName>");
  var navFlag = true;
  if(ACNameIndex == -1){
        navFlag=false
    }
  store.commit('SET_SEPCFLAG', navFlag)
}

index.vue

mounted(){
  this.login();
},
methods: {
    login(){
      let navFlag = this.$store.state.isSEPCNavFlag;
      console.log(navFlag);

this. $ Store.state.isSEPCNavFlag значение всегда null.

мутации SET_SEPCFLAG console.log

...