【问题标题】:Why vuex return object instead of array in Quasar App?为什么 vuex 在 Quasar App 中返回对象而不是数组?
【发布时间】:2021-02-14 06:13:47
【问题描述】:

我有 Quasar 应用程序 我连接了vuex 我为 vuex 创建了一个单独的文件作为模块,如下所示: 我在 vuex 中创建了一个空数组 如果我在浏览器中打开 Vue 扩展,我会看到 vuex 返回对象,其中存储了一个数组,而不仅仅是一个数组

我怎样才能只存储一个数组而不是对象?

我创建了一个这样的 vuex 文件:

在 store/index.js 文件中我导入了 cars.js 文件:

import Vue from 'vue'
import Vuex from 'vuex'
import cars from "src/store/module-example/cars";

Vue.use(Vuex)

export default function (/* { ssrContext } */) {
  const Store = new Vuex.Store({
    modules: {
     cars
    },

    // enable strict mode (adds overhead!)
    // for dev mode only
    strict: process.env.DEBUGGING
  })

  return Store
}

Cars.js 文件:

import axios from "axios";

const state = {
  cars: []
}

const mutations = {
  SET_CARS: (state, cars) => {
    state.cars = cars;
  }

}
const actions = {
  async GET_ALL_CARS_FROM_API({commit}) {
    let result = await axios.get('http://localhost:8050/api/cars');
    commit("SET_CARS", result.data)

  }
}

const getters = {
  GET_ALL_CARS: (state) => {
    return state.cars;
  }
}
export default {
  namespaced: true,
  state,
  mutations,
  actions,
  getters
}

【问题讨论】:

    标签: vuex quasar


    【解决方案1】:

    result.data 是一个对象。要将cars 设置为普通数组,只需将其设置为result.data.cars

    commit("SET_CARS", result.data.cars)
    

    【讨论】:

      猜你喜欢
      • 2011-10-06
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      • 2012-10-09
      • 2018-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多