Tengo este captador this.getHouseTypes , devuelve una matriz con objetos de la tienda vuex.
Pero ahora quiero agregar 1 elemento a la matriz de la manera más corta, así que estaba pensando en ... como:
return [...this.getHouseTypes, newObject];Pero eso me da un error:
Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.Alguien sabe a que se debe esto ?
¡Cualquier ayuda es bienvenida!
EDITAR: pero en el inspector vue muestra la nueva matriz con this.getHouseTypes y newObject en ella
Suena más como que deberías hacer algo como esto:
import { mapGetters } from 'vuex' export default { data() { return { houseTypes: [], } } // ... computed: { addHouseType(newType) { let houseTypes = this.getHouseTypes(); this.houseTypes = this.houseTypes.concat(houseTypes).push(newType); return this.houseTypes; }, // mix the getters into computed with object spread operator ...mapGetters([ 'getHouseTypes', // ... ]) } } Tenga una variable data houseTypes , que es una matriz vacía al principio.
Mezcle sus getters , con su computed .
Tenga un computed que agregue valores a los tipos de casa locales y houseTypes el estado de la store .
Dependiendo de lo que esté haciendo, es posible que desee dividir la adición y la recuperación de la nueva array .