DataSet基本原理是基于mobx實現的,mobx中的狀態對象, 它具有可觀察的屬性, 我們將它稱為 observable,當我們發起action改變數據的時候,就會觀察數據是否發生變化,observable 的屬性值在其變化的時候 mobx 會自動追蹤并作出響應。當 value 是一個對象類型值的時候,它會默認克隆該對象并且把其中每個屬性變為可觀察的值,這里默認是深拷貝,也就是說其對象的后代屬性都會變成可觀察的,比如 @observable classProperty = { obj: { name: 'q' } } ,當 classProperty.obj.name 改變的時候,在 MobX 中也是可以觀察到并響應的;
DataSet中fields,是類似于后端 SQL 數據表中的字段屬性。這里負責的是將后端傳回的數據收集進入 DataSet 中,將其變成 DataSet 可以監聽到的數據,當數據發生更改的時候就會觸發視圖的變化,基于mobx中的observation可觀察屬性,這樣處理過的 DataSet,就會將所有的后端數據轉換成 DataSet 能夠識別的字段,同時利用觀察者模式做到了視圖與數據的同步更新。
浙公網安備 33010602011771號