vue中使用v-for的方法,要注意那些!

在使用v-for,遇到三种情况。

情况一:想将数组翻转

情况二:单独截取数组中某个值

情况三:更新数组中某个值

但v-for方法在遇到原数组改变的时候才会监测到,并实现。

例如这些方法

会改变原数组的值时。会被V-for监测到。

但如果你使用

filter(),concat()和slice()会返回一个新数组,对原数组没有影响,就不会导致v-for更新,页面也就不会更新。

我们就可以使用一个函数去接收新数组,并将其赋值给原数组。这样就会是v-for更新。

例子:

//数组slice方法不会造成v-for更新

this.arr.slice(0,3)

//为了解决v-for更新,覆盖原始数组

let newArr = this.arr.slice(0,3)

this.arr = newArr

还有一种情况,当我们想改变数组中某个值的时候。单独赋值时,v-for也是监测不到的。需要使用this.$set()

例子:

//单独赋值,无用

this.arr[0]=1000;

使用 this.$set(     )有三个参数

参数一:更新目标结构

参数二:更新位置

参数三:更新的数值

例子,this.$set(this.arr,0,1000)

总结:

数组变更方法,会导致v-for的更新,页面更新。

数组非变更方法,返回新数组,就不会导致v-for更新,可以采用覆盖数组或者this.$set()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值