【问题标题】:Vuex: unknown mutation type: dropdownStateVuex:未知突变类型:dropdownState
【发布时间】:2021-05-06 17:30:37
【问题描述】:

我是初学者,正在尝试学习。我正在使用 vue js 2 并且 vuex 有问题。当我单击下拉列表的 div 时,我想添加活动类并显示下拉列表的内容。问题是

未知突变类型:dropdownState。

store.js

import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

export const store = new Vuex.Store({
  state: {
    active: false,
  },

  getters: {
    isOpen (state) {
      return state.active;
    },
  },

  mutation: {
    dropdownState (state) {
      state.active = !state.active;
      console.log('hi');
    },
  },
});

Dropdown.vue

<template>
  <div class="dropdown" @click="dropdownState">
    <slot name="button"></slot>
    <slot></slot>
  </div>
</template>

<script>
import { mapMutations } from 'vuex';
export default {
  name: 'Dropdown',
  methods: {
    ...mapMutations(['dropdownState']),
  }
};
</script>

DropdownContent.vue

<template>
  <div>
    <div class="dropdown-content right" :class="{ active : active }"></div>
  </div>
</template>

<script>
import { mapState, mapGetters } from 'vuex';
export default {
  name: 'DropdownContent',
  computed: {
    ...mapState(['active']),
    ...mapGetters(['isOpen']),
  },
};
</script>

【问题讨论】:

    标签: vue.js vuex


    【解决方案1】:

    应该是突变s(带有s)

    mutations: {
      ...
    }
    

    https://vuex.vuejs.org/guide/mutations.html#mutations
    顺便说一句,它也将是actions!

    【讨论】:

      猜你喜欢
      • 2021-11-13
      • 2019-10-07
      • 2019-07-02
      • 2018-08-17
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-08
      相关资源
      最近更新 更多