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}发现这样做点击的时候按钮不发生变化。求大神指导一下
问题解答
回答1:change部分改为Vue.set
change(index){ Vue.set(this.flag,index,false)}回答2:
模板可以简化成这样:
<img @click='change(index)' :src='https://www.haobala.com/wenda/flag[index] ? countries[num] : countriesHasAttention[num]' alt=''>
数据处理这一块上面的答案是对的,参见:数组更新检测
相关文章:
1. pdo_mysql 值自增写法2. python - 怎样在linux下开发flask web应用时查看代码出错(traceback)的地方。3. JAVA中间Object.wait()或者Condition.await()这样的条件状态满足条件之后重新获取锁的顺序问题?4. css3 - 没明白盒子的height随width的变化这段css是怎样实现的?5. css3动画 - css3 animation初始动画卡顿是怎么回事?6. HTML5表单必填属性设置自定义验证消息?7. javascript - js 面向对象8. PHP中的$this代表当前的类还是方法?9. javascript - 请问这段 el && fn.call(el, e, el)代码这么写什么意思?10. 如何解决tp6在zend中无代码提示

网公网安备