Vue中判断对象属性是否存在(使用this.$set)

在vue中,若直接给一个空对象添加一个属性并且是响应式的,必须使用$set方法,只有这样才能让视图同步刷新。

当对象的属性存在时就赋值,不存在则给其添加属性,再赋值。

//判断属性是否存在
if (!this.user.age) {
    //参数:对象,要添加的属性名,属性值
    this.$set(this.user, "age", 20)
} else {
     this.user.age = 20
}

除了可以给对象添加属性外,还可以对数组添加元素

//给数组arr第二个元素赋值20
this.$set(this.arr, 1, 20)

除了使用this.$set()方法外,还可以使用this.$forceUpdate();进行强制更新,有时需要两个一起使用才能强制刷新视图。

posted @ 2021-06-26 18:51  钟小嘿  阅读(9505)  评论(0)    收藏  举报