【问题标题】:quasar [vuex] unknown action type: loadUsersquasar [vuex] 未知动作类型:loadUsers
【发布时间】:2021-03-22 09:30:01
【问题描述】:

我喜欢让商店运行以获取 api 调用,我尝试了很多示例,最终都以

[vuex] unknown action type: loadUsers

那是我的商店:

import Vue from "vue";
import Vuex from "vuex";
import axios from "axios";

Vue.use(Vuex);

axios.defaults.baseURL = "https://jsonplaceholder.typicode.com/";

export default new Vuex.Store({
  state: {
    users: [],
  },
  actions: {
    loadUsers({ commit }) {
      Vue.axios.get("users").then((result) => {
        commit("SAVE_USERS", result.data);
      }).catch((error) => {
        throw new Error(`API ${error}`);
      });
    },
  },
  mutations: {
    SAVE_USERS(state, users) {
      state.users = users;
    },
  },
});

这就是我的组件来显示接收到的数据

<template>
  <div class="hello">
    <table class="users">
      <tr>
        <th>Name</th>
        <th>Username</th>
        <th>Email</th>
      </tr>
      <tr v-for="user in users" :key="user.id">
        <td>{{ user.name }}</td>
        <td>{{ user.username }}</td>
        <td>{{ user.email }}</td>
      </tr>
    </table>
  </div>
</template>

<script>
import { mapState } from "vuex";

export default {
  name: "storenews",
  computed: mapState(["users"]),
  created() {
    this.$store.dispatch("loadUsers");
  },
};
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
table {
  width: 100%;
}
</style>

取自this codepen的工作小提琴

这是因为 Quasar 框架,我错过了一些花哨的特殊东西吗?

谢谢

【问题讨论】:

  • 你能在哪里解决问题?

标签: vue.js axios quarkus quasar


【解决方案1】:

你能试着像这样打电话给你的dispatch吗:

this.$store.dispatch('loadUsers', null, {root:true})

?

【讨论】:

  • 同样的结果[vuex] unknown action type: loadUsers
猜你喜欢
  • 2022-01-02
  • 2019-10-28
  • 2021-06-26
  • 2020-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多