在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();進行強制更新,有時需要兩個一起使用才能強制刷新視圖。