VUE 實現動態給對象增加屬性,並觸發視圖更新操作示例


VUE 實現動態給對象增加屬性,並觸發視圖更新操作示例


本文實例講述了VUE實現動態給對象增加屬性,並觸發視圖更新操作。分享給大家供大家參考,具體如下:

在開發過程中,我們時常會遇到這樣一種情況:當vue的data裡邊聲明或者已經賦值過的對象或者數組(數組裡邊的值是對象)時,向對象中添加新的屬性,如果更新此屬性的值,是不會更新視圖的。

根據官方文檔定義:如果在實例創建之後添加新的屬性到實例上,它不會觸發視圖更新。

Vue不允許在已經創建的實例上動態添加新的根級響應式屬性(root-levelreactiveproperty)。然而它可以使用Vue.set(object,key,value)方法將響應屬性添加到嵌套的對象上。

我們編寫如下代碼測試給一個對象動態添加屬性:

VUE 實現動態給對象增加屬性,並觸發視圖更新操作示例


這種方式可以給form增加一個屬性,但是不會界面不會響應更新。

正確的做法:

VUE 實現動態給對象增加屬性,並觸發視圖更新操作示例


這樣就可以給對象添加amount屬性了。

這個有什麼應用場景呢,比如data.form屬性很多,其中大部分是不需要要的,這時候,可以使用這種方法實現動態添加需要的屬性。

需要注意的是,這種方式是不能給根數據添加屬性的,比如:

VUE 實現動態給對象增加屬性,並觸發視圖更新操作示例


這種方式給data增加一個name屬性是無效的。

希望本文所述對大家vue.js程序設計有所幫助。


分享到:


相關文章: