Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

154
Vistas
TypeError: _vm.removeProductFromCart no es una función en vue/vuex

Estoy tratando de eliminar un artículo del carrito. Entonces debería poder eliminar el artículo con la identificación del carrito. Tengo un cartHelper y allí definí mi llamada api:

 removeFromCart: function (id, callback = undefined) { return apiHelper.deleteRequest( `/carts/${this.cookieValue}/remove-item`, (response) => { document.cookie = `${this.cartCookieName}=${response.data.attributes.cart_guid};`; if (callback) { callback(response); } }, { id: id } ) },

Y luego llamo a esta función en mi componente Cart:

 methods: { removeFromCart(id) { cartHelper.removeFromCart(id, () => { this.$store.dispatch('removeProductFromCart', id) }); }, },

Y definí mi acción como en el siguiente:

 export const removeProductFromCart = ({ commit }, id) => { commit('REMOVE_PRODUCT_FROM_CART', id); }

Y aquí está mi mutación:

 export const REMOVE_PRODUCT_FROM_CART = (state, id) => { state.cart = state.cart.filter(item => { return item.id !== id; }) }

Pero tan pronto como hago clic en el botón, donde estoy llamando a removeFromCart en mi componente Cart, obtengo "TypeError: _vm.removeProductFromCart is not a function" y no pude averiguar el motivo. Si puedes ayudarme, sería genial.

Versión editada --------- Aquí está mi estado:

 export default { cart: { "attributes": { "items": [], } }

Y mi index.js para la tienda:

 import Vue from 'vue'; import Vuex from "vuex"; Vue.use(Vuex); import state from "./state"; import * as getters from './getters'; import * as mutations from "./mutations"; import * as actions from "./actions"; export default new Vuex.Store({ state, getters, mutations, actions, }); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Parece que ha estado llamando a removeProductFromCart en el evento @click que no existe en sus métodos. Intente llamar a removeFromCart en el evento @click.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda