先說缺陷吧
1:遞歸遍歷所有的對象的屬性,這樣如果我們數據層級比較深的話,是一件很耗費性能的事情
- 2:只能應用在對象上,不能用於數組
- 3:只能夠監聽定義時的屬性,不能監聽新加的屬性,這也就是爲什麼在vue中要使用Vue.set的原因,刪除也是同理
vue3.0 的雙向綁定實現
使用proxy
Proxy 是攔截默認行爲,Reflect 是恢復默認行。被 Proxy 攔截、過濾了一些默認行爲之後,可以使用 Reflect 恢復未被攔截的默認行爲。通常它們兩個會結合在一起使用。
先說缺陷吧
1:遞歸遍歷所有的對象的屬性,這樣如果我們數據層級比較深的話,是一件很耗費性能的事情
vue3.0 的雙向綁定實現
使用proxy
Proxy 是攔截默認行爲,Reflect 是恢復默認行。被 Proxy 攔截、過濾了一些默認行爲之後,可以使用 Reflect 恢復未被攔截的默認行爲。通常它們兩個會結合在一起使用。
代碼: public class PropertiesControl : Grid { [TypeConverter(typeof(LengthConverter))] public d