在v-for循环中传递给函数parametr(id)时,会将相同的id传递给每个函数的问题可以通过以下方式解决:
<template>
<div>
<div v-for="item in items" :key="item.id">
<button @click="createFunction(item.id)">Button</button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
items: [
{ id: 1 },
{ id: 2 },
{ id: 3 }
]
};
},
methods: {
createFunction(id) {
return () => {
this.parametr(id);
};
},
parametr(id) {
// 处理函数逻辑
}
}
};
</script>
<template>
<div>
<div v-for="item in items" :key="item.id">
<button :click="parametr.bind(null, item.id)">Button</button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
items: [
{ id: 1 },
{ id: 2 },
{ id: 3 }
]
};
},
methods: {
parametr(id) {
// 处理函数逻辑
}
}
};
</script>
以上两种方式都可以解决在v-for循环中传递相同id给每个函数的问题。具体选择哪种方式取决于实际需求和代码结构。
领取专属 10元无门槛券
手把手带您无忧上云