gpt4 book ai didi

javascript - 将参数传递给 Vuex 中的 mapGetters

转载 作者:搜寻专家 更新时间:2023-10-30 22:41:55 25 4
gpt4 key购买 nike

美好的一天。

我在我的 vue.js 项目中使用模块。现在我需要从 getter 中获取过滤后的数据,但不要理解如何提供参数。

我想为 Getter 提供“名称”参数。我如何在 Component.vue 中做到这一点?

/*State in vuex*/
state: {
tempMessageValues: [
{ name: 'RU', status: 'none', selected: false },
{ name: 'BY', status: 'none', selected: false },
{ name: 'KG', status: 'none', selected: false }
]
}

/*Getters*/

import * as types from '../types';

export default {
[types.GETTERS.TEMP_MESSAGE_VALUES]: state => {
return state.tempMessageValues.find(country => country.name === name);
}
};

/*Types*/

export const GETTERS = {
TEMP_MESSAGE_VALUES: 'shared/TEMP_MESSAGE_VALUES'
};

/*Code in Component.vue*/

import * as types from "./store/types";
import { mapGetters } from "vuex";

export default {
computed: {
...mapGetters({
getTempMessValues: types.GETTERS.TEMP_MESSAGE_VALUES
})
}
};

最佳答案

文档建议使用柯里化(Currying)将参数传递给 getter;

export default {
[types.GETTERS.TEMP_MESSAGE_VALUES]: state => name =>
state.tempMessageValues.find(country => country.name === name)
};

参见 https://vuex.vuejs.org/guide/getters.html#method-style-access以他们为例。实际上,您是在让 getter 在第一次调用时返回一个函数。

这有意义吗?

关于javascript - 将参数传递给 Vuex 中的 mapGetters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52646665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com