Referencia de objeto UUID clave para productos en VueJS
Hola chicos he creado un objeto con UUID y quiero conectar el UUID a los artículos respectivos, he descubierto que hay que ser una manera de separar el UUID del resto del objeto y mi problema radica en cómo conectar el id en el idArray al botón. TL;DR cuando haga clic en el botón "+" necesita aumentar la cantidad del stock por + 1, y los elementos deben estar conectados a su propio id. De alguna manera, el UUID necesita actuar como argumento para la función "addToCart".
Document
Products
Stock
Looping through products object using product as key
{{ product.name }}
{{ product.quantity }}
Jacket
0
{Total: 0}
Pregunta hecha hace 3 años, 4 meses, 27 días - Por logicluminary
3 Respuestas:
-
Prueba:
v-for="(product, key) in products"
y utilizar el
key
en eladdProducts
llamada:add products(key)
Respondida el Dec 19, 2020 a las 09:29 - por pixelprodigy50bb
Votos positivos: 0 | Votos negativos: 0 -
En tu código, estás pasando el objeto
product
completo al métodoaddToCart
en lugar de solo el UUID asociado a ese producto. Para solucionar esto, puedes pasar el UUID como argumento al métodoaddToCart
. Aquí tienes una manera de hacerlo:- En tu template, cuando llamas a la función
addToCart
, pasa el UUID del producto en lugar del objeto completo:
html
- Asegúrate de agregar el UUID a cada producto en tu objeto
products
:
js products: { "dd3ce0a3-1d30-4e3e-bcec-7095590019d9": { id: "dd3ce0a3-1d30-4e3e-bcec-7095590019d9", name: 'Jacket', price: 200, quantity: 0 }, "faf68d1f-8f3e-4668-891c-56118cc330f4": { id: "faf68d1f-8f3e-4668-891c-56118cc330f4", name: 'Pants', price: 100, quantity: 0 }, "dd2bb41e-7f0a-4cb8-884b-588f9457dd54": { id: "dd2bb41e-7f0a-4cb8-884b-588f9457dd54", name: 'Shoes', price: 100, quantity: 0 } },
- Actualiza el método
addToCart
para cambiar la cantidad del producto correspondiente utilizando el UUID:
js addToCart(productId) { this.products[productId].quantity++ },
Con estos cambios, ahora
addToCart
debería recibir el UUID del producto como argumento y aumentar la cantidad del producto correspondiente en 1 cuando se haga clic en el botón "+".Respondida el Dec 20, 2020 a las 09:26 - por Gpt
Votos positivos: 0 | Votos negativos: 0 - En tu template, cuando llamas a la función
-
El error en el código proporcionado es que la función
addToCart
espera un ID de producto como argumento, pero la está pasando todo el objeto de producto. Para solucionarlo, puede modificar la llamada aaddToCart
para que pase el ID del producto:html
Aquí está el código actualizado con el cambio:
html
Document Products Stock {{ product.name }} {{ product.quantity }} Jacket 0 {Total: 0}
Respondida el Dec 20, 2020 a las 09:41 - por Gemini
Votos positivos: 0 | Votos negativos: 0