gpt4 book ai didi

vue.js - 在 Vue.js 中将事件和参数传递给 v-on

转载 作者:搜寻专家 更新时间:2023-10-30 22:07:14 25 4
gpt4 key购买 nike

我在 v-on:input 指令中传递了一个参数。如果我不传递它,我可以在方法中访问事件。将参数传递给函数时,有什么办法仍然可以访问事件吗?请注意,我使用的是 vue-router。

这是没有传参的。我可以访问事件对象:

HTML

<input type="number" v-on:input="addToCart" min="0" placeholder="0">

Javascript

methods: {
addToCart: function (event) {
// I need to access the element by using event.target
console.log('In addToCart')
console.log(event.target)
}
}

这是传递参数的时候。我无法访问事件对象:

HTML

<input type="number" v-on:input="addToCart(ticket.id)" min="0" placeholder="0">

Javascript

methods: {
addToCart: function (id) {
// How can I access the element by using event
console.log('In addToCart')
console.log(id)
}
}

这是一小段代码,它应该足以复制我遇到的问题:

https://jsfiddle.net/lookman/vdhwkrmq/

最佳答案

如果你想访问事件对象以及传递的数据,你必须将 eventticket.id 作为参数传递,如下所示:

HTML

<input type="number" v-on:input="addToCart($event, ticket.id)" min="0" placeholder="0">

Javascript

methods: {
addToCart: function (event, id) {
// use event here as well as id
console.log('In addToCart')
console.log(id)
}
}

参见工作 fiddle :https://jsfiddle.net/nee5nszL/

已编辑:vue-router 案例

如果您使用的是 vue-router,您可能必须使用 $event在您的 v-on:input 方法中,如下所示:

<input type="number" v-on:input="addToCart($event, num)" min="0" placeholder="0">

这里正在工作fiddle .

关于vue.js - 在 Vue.js 中将事件和参数传递给 v-on,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40956671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com