使用Vue添加内联onclick方法

mm9b1k5b  于 2023-03-31  发布在  Vue.js
关注(0)|答案(1)|浏览(230)

我有一个div元素:

<div
  class="button-primary"
  id="product-cl-add-cart"
  @click="displayApproval($event)"
  >
  Add To Cart
</div>

这个div调用方法:

displayApproval($event)

在js Vue createApp中我设置了这个方法-

const displayApproval = (event) => {
  event.preventDefault();

  Fancybox.show([{
    src: `
            <div>
                <h3>Please look over the custom text to make sure its correct. <br>
                    All sales are final on custom items.</h3>
                <button onClick="function closeFancy(){ Fancybox.close()  } closeFancy(); return false;" style="width: 200px; height: 50px; background-color: rgb(247, 185, 162);">Go Back To Confirm</button>
                <button onClick="function continue(e){ addToCart(e)} continue(${event});  return false;" style="width: 200px; height: 50px; background-color: rgb(211, 254, 211);">Continue With Order</button>
            </div>`,
    type: "html",
  }]);
}

我像这样添加方法onClick,因为addToCart()对我不起作用。
addToCart方法也在我的设置中-

const addToCart = (event) => { 
  // do something 
}

基本上,我需要上面的工作和通过事件.出于某种原因,它不适合我.我已经尝试了上面的,也:

onClick="addToCart(e)" 
onClick="addToCart()"

我根据网上的一些建议设置了上面的内容。我不完全确定如何设置。
任何帮助都将不胜感激。

7vhp5slm

7vhp5slm1#

  1. continue是一个JS语句。请为函数使用其他名称。
    1.如果你的addToCart()函数是在Vue setup()内部定义的,那么你必须在Vue示例上调用它。
    就像这样:
const vm = app.mount('#app')

然后

onclick="function cont(e){ vm.addToCart(e) }; cont(event);"

否则,必须使addToCart()函数成为全局函数才能直接调用它。
1.我不认为你真的需要 Package 功能。没有它们也能很好地工作。

<button onclick="Fancybox.close()" 
<button onclick="vm.addToCart(event)"

一个一个三个一个一个一个一个一个四个一个一个一个一个一个五个一个

相关问题