Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme avec une fonction addToCart() avec VueJS

    27 octobre 2021 à 19:23:54

    Bonjour, 

    J'ai bientot fini un projet pour apprendre VueJS dans lequelle je dois créer un panier d'achat. 
    Quand je clique sur le boutton "ajouter au panier" j'ai cette erreur dans la console. 

    Uncaught TypeError: $props.addToCart is not a function
        at Object.onClick._cache.<computed>._cache.<computed> (ProductCard.vue?e915:36)
        at callWithErrorHandling (runtime-core.esm-bundler.js?5c40:6685)
        at callWithAsyncErrorHandling (runtime-core.esm-bundler.js?5c40:6694)
        at HTMLButtonElement.invoker (runtime-dom.esm-bundler.js?830f:347)

    Au niveau du code dans App.vue j'ai cette methode : 

      methods: {
        addToCart (name, quantity) {
          if (!this.cart[name]) this.cart[name] = 0 // Si il n'y a pas encore de nom le nom est egal a 0 ( pour corriger le Bug Nan )
          this.cart[name] += quantity
        }


    Au niveau de ma view Home.Vue j'ai créer un composant qui utilise AddToCart 

    export default {
      name: 'Home',
      props: ['inventory', 'addToCart'],
      components: {
        ProductCard
      }
    }

    Que j'apelle dans le template de Home.vue ( qui appelle le composant ProductCard )

            <ProductCard
              v-for="(product, index) in inventory.slice(0,3)"
              :key="product.id"
              class="card"
              :index="index"
              :product="product"
              :addTocart="addToCart"
            />

    le composant ProductCard.vue contient le code avec le boutton addToCart

            <button @click="addToCart(product.name, quantity)" class="btn btn-light">
                Add to cart
            </button>
            </div>
        </div>
    </template>
    
    <script>
    export default {
      props: ['product', 'index', 'addToCart'],
      data () {
        return {
          quantity: 0
        }
      }


    Et pourtant quand je clique sur ce boutton aucun article s'ajoute au panier et la console m'affiche l'erreur en début de post. 
    Quelqu'un sait d'où cela viens ? 

    • Partager sur Facebook
    • Partager sur Twitter

    Seul on va plus vite, ensemble on va plus loin. 'KawaBunga'

    Probleme avec une fonction addToCart() avec VueJS

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown