亚洲一区精品自拍_2021年国内精品久久_男同十八禁gv在线观看_免费观看a级性爱黄片

Article / 文章中心

setModel 的核心邏輯

發(fā)布時間:2021-11-23 點擊數(shù):648
簡介: setModel 的核心邏輯

Sent: Friday, March 20, 2015 3:28 PM

為什么UI controlcall了setModel,傳入了正確的json 數(shù)據(jù)之后,控件在runtime時仍然沒有顯示任何東西?


example:有一個table控件,items綁定如下:


image.png


某個table cell綁定信息如下:


image.png


通過setModel將如下的數(shù)據(jù)綁定到table上, ProductId在json數(shù)據(jù)里的值為HT-1020:


image.png


setModel的執(zhí)行過程:


處理最外層的items綁定,其path是xml view里指定的/LineItems

image.png


sPath提示該binding是table最外層的binding,oList為json data里table的兩條行數(shù)據(jù):

image.png


依次處理table row里每個column的綁定:


image.pngimage.png


從這里能看出,setModel進行數(shù)據(jù)綁定的過程中,也是一個把Model里json data對應的字段的實際內(nèi)容寫入到bindingInfo 這個抽象類的instance里的過程,setModel完全可以看成一個賦值過程:


image.png

如何判斷setModel是否成功執(zhí)行

setModel執(zhí)行完后,檢查調(diào)用setModel的control instance的oModels field,找出里面名字和調(diào)用setModel時傳入的model name一致的字段( 如果調(diào)用setModel時沒有傳model name,則model name 為undefined ):

image.png


如果發(fā)現(xiàn)aBindings length 大于0,并且能夠從每個item里看到item 綁定的路徑信息和實際的值,就說明setModel成功執(zhí)行了。

image.png