Soy nuevo en vue y vuex y también estoy usando Nuxt. Quiero usar una función en mi plantilla que busca algunos datos que obtuve de una API (en vuex). No puedo entender por qué siempre obtengo
state.allHandhelds.values.findIndex is not a functionMi plantilla es así:
<div>{{ handheldID("Form Factor") }}</div>Y en mi computado llamo a la función así:
computed: { ...mapGetters(["allHandhelds"]), handheldID(merkmal) { return this.$store.getters.indexFinder(merkmal); }, },En vuex lo tengo definido como getter:
export const getters = { indexFinder(state, merkmal) { return state.allHandhelds.values.findIndex( (el) => el === merkmal ); /* Index des Merkmals finden */ }, };¿Alguna idea de dónde me estoy equivocando con eso?
Tienes que usar el estilo de acceso al método como:
export const getters = { indexFinder: (state) => (merkmal) => { return state.allHandhelds.values.findIndex( (el) => el === merkmal ); } };o con sintaxis:
export const getters = { indexFinder(state) { return (merkmal)=> { return state.allHandhelds.values.findIndex( (el) => el === merkmal ); /* Index des Merkmals finden */ } }, };