javascript - vue中v-for和v-if结合的问题?

查看:107
本文介绍了javascript - vue中v-for和v-if结合的问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

利用v-for遍历出N个关注按钮,点击其中一个关注按钮,对应的关注按钮变成已关注,第一次是这么做的

 <img v-if='flag' @click='change()' :src='countries[num]' alt="">//关注
    <img v-if='!flag' :src='countriesHasAttention[num]' alt="">//  已关注
    data () {
        return {
            flag: true
        }
    }    
    change: function () {
        this.flag = false
    }
    

发现点击一个全都改变了,然后我把flag改成了一个数组

<img v-if='flag[index]' @click='change(index)' :src='countries[num]' alt=""> //关注
<img v-if='!flag[index]' :src='countriesHasAttention[num]' alt="">    //  已关注
data () {
        return {
            flag: [true, true, true]
        }
}   
change: function (index) {
        this.flag[index] = false
}

发现这样做点击的时候按钮不发生变化。
求大神指导一下

解决方案

change部分改为
Vue.set

change(index){
    Vue.set(this.flag,index,false)
}

这篇关于javascript - vue中v-for和v-if结合的问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆