为什么在 Quasar App 中使用 vuex return 对象而不是数组?

Why vuex return object instead of array in Quasar App?

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

如何只存储一个数组而不是对象?

我创建了一个这样的 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
}

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

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