javascript - Masalah dengan menggabungkan v-for dan v-if dalam vue?
PHP中文网
PHP中文网 2017-06-26 10:53:49
0
2
767

Gunakan v-untuk untuk melintasi N butang ikut, klik salah satu butang ikut, dan butang ikut yang sepadan menjadi diikuti Ini adalah kali pertama

 <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
    }
    

Saya dapati semuanya berubah apabila saya mengklik satu, dan kemudian saya menukar bendera kepada tatasusunan

<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
}

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

认证0级讲师

membalas semua(2)
仅有的幸福

Bahagian

tukar ditukar kepada
Vue.set

change(index){
    Vue.set(this.flag,index,false)
}
我想大声告诉你

Templat boleh dipermudahkan seperti ini:

<img @click="change(index)" :src="flag[index] ? countries[num] : countriesHasAttention[num]" alt="">

Jawapan di atas untuk pemprosesan data adalah betul, lihat: Pengesanan Kemas Kini Tatasusunan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan