Vue js 3 在 v-for 中传递动态模型值
Vue js 3 Passing dynamic model value inside a v-for
我正在使用一个具有画廊的产品页面,并且在选择不同的选项时需要更改此画廊。
为简化起见,假设这是画廊:
<swiper-slide v-for="image in product.option" :key="image.id">
我有这样的单选按钮:
<RadioGroup v-model="optionChoice">
我需要以某种方式将 optionChoice 传递给 v-for,以便它在用户选择一个选项时动态更改。像这样:
<swiper-slide v-for="image in product.{{optionChoice}}" :key="image.id">
有人可以指导我吗?
在JavaScript中,bracket notation用于通过动态键引用对象属性:
const product = { name: 'john', age: 100 }
let optionChoice = 'name'
console.log(product[optionChoice]) // => 'john'
optionChoice = 'age'
console.log(product[optionChoice]) // => 100
v-for
值是一个 JavaScript 表达式,所以同样的解决方案适用:
<swiper-slide v-for="image in product[optionChoice]" :key="image.id">
我正在使用一个具有画廊的产品页面,并且在选择不同的选项时需要更改此画廊。
为简化起见,假设这是画廊:
<swiper-slide v-for="image in product.option" :key="image.id">
我有这样的单选按钮:
<RadioGroup v-model="optionChoice">
我需要以某种方式将 optionChoice 传递给 v-for,以便它在用户选择一个选项时动态更改。像这样:
<swiper-slide v-for="image in product.{{optionChoice}}" :key="image.id">
有人可以指导我吗?
在JavaScript中,bracket notation用于通过动态键引用对象属性:
const product = { name: 'john', age: 100 }
let optionChoice = 'name'
console.log(product[optionChoice]) // => 'john'
optionChoice = 'age'
console.log(product[optionChoice]) // => 100
v-for
值是一个 JavaScript 表达式,所以同样的解决方案适用:
<swiper-slide v-for="image in product[optionChoice]" :key="image.id">