为啥 vuex 在 Quasar App 中返回对象而不是数组?
Posted
技术标签:
【中文标题】为啥 vuex 在 Quasar App 中返回对象而不是数组?【英文标题】: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 (/* s-s-rContext */)
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
【问题讨论】:
【参考方案1】:result.data
是一个对象。要将cars
设置为普通数组,只需将其设置为result.data.cars
commit("SET_CARS", result.data.cars)
【讨论】:
以上是关于为啥 vuex 在 Quasar App 中返回对象而不是数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Quasar 框架访问 Vuex 存储模块操作中的 Vue 路由器?