首先要明確一點:vue不支持在實例創建之后為對象動態增加屬性。
意思就是說,如果想動態增加對象屬性,那么用常規方式是不可以的,只能通過特殊方式。
圖中,有三種對象:
1、obj:一級對象
2、subObj:二級對象
3、{ caption: '...' }:數組中的對象元素
如果先不考慮之前的那條知識點,都使用最簡單的方式給上面的三種對象增加屬性:
我們看看控制台的信息:
首先看 obj 對象,會發現新增加的 status 屬性並沒有 get/set 函數,所以這個屬性不會在視圖中動態響應。
之后看 obj.subObj 這個嵌套子對象,發現新增加的 attr 屬性也沒有 get/set 函數,所以這個屬性也不會動態響應。
對於數組元素對象,不出預料,新增加的 status 屬性也沒有 get/set 函數,所以這個屬性也不會動態響應。
正確姿勢:
再看控制台: