场景:
v-for
渲染出来的列表,我如何设一个数点击加减号只变化此行的变量?
加减号的代码,外面有v-for="(item,index) in list"
:
<div style="position: absolute;right: 10px;top: 50%;margin-top: -13px;">
<img @click="reduce(index)" src="/static/img/quantity-minus@2x.png">
<span style="margin: 0 3px;">{{num}}</span>
<img @click="add(index)" src="/static/img/quantity-add@2x.png">
</div>
//加
add(index){
console.log(index)
this.num++
},
//减
reduce(index){
console.log(index)
this.num--
},
这样写所有num
会同时变化= =!
道理我都懂,就是写不出来,能不能写个demo
看看,感谢大佬!
写了个demo,你从接口拿到数据后,map数据通过this.$set给每项加上num属性,当然要注意this指向
循环时加上索引,点击按钮+时将index传参过去,只改变当前列表值的num