vue.$set()

$set是干什么的?

解决对象在添加新属性,该属性在data对象中没有,数据发生变化,页面不变的情况。

$set有什么用?

官方解释: 向响应式对象中添加一个 property,并确保这个新 property
同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新 property,因为 Vue 无法探测普通的新增 property。

个人理解:
在vue的data中声明过的对象或者数组,在往他们里添加新的属性(没有声明过),给属性附过值但是视图是不更新的,因为vue是监听不到。

为什么监听不到?
由于 Vue 会在初始化实例时进行双向数据绑定,使用Object.defineProperty()方法添加getter/setter 方法,所以属性必须在 data 对象上存在时才能进行上述过程 ,这样才能让它是响应的。新添加的是没有添加getter/setter的,所以不会被监听到。

在这里插入图片描述

$set怎么用?

在这里插入图片描述

//  dynamicValidateForm: {
//        dynamicItem: [{ cover: '', title: '',digest: '' }]
  //    },
  //              target                                       属性名称           值
 this.$set(this.dynamicValidateForm.dynamicItem[file.data.index], 'cover', res.data.result)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值