日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

logon dialog 的弹出逻辑debug出来了,有很多有用的代码片段

發布時間:2023/12/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 logon dialog 的弹出逻辑debug出来了,有很多有用的代码片段 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Sent: Tuesday, 20 October, 2015 8:02 PM

這兩天在做UI端的performance優化,昨天Ross發現在My Opportunity Application初始化的時候,會發出一個額外odata call去獲取attachment數據:

但是這個odata call會返回一個空的response:

比較奇怪的是application的初始化并沒有執行任何跟attachment相關的代碼,唯一有可能的地方就是UI的定義,在初始化XML View的時候發出了odata請求:

把items的綁定從XML View移除,放到當用戶真正點擊attachment tab的時候再用javascript做綁定:

再測試,發現application初始化的時候返回空值的odata call不會出現了,但是在點擊attachment tab的時候,發出了兩次對attachment的請求:

其中第二條odata call就是之前初始化app時候發出的多余請求,說明框架內部對控件初次綁定的時候是需要請求數據的,于是debug了一下bindAggregation的實現:

在sap-ui-core.js中定義了一個私有的_bindAggregation方法:

在這個方法中,框架先從控件中獲取Model,根據已經綁定到控件的Data Model的類型決定Binding的類型,如果不存在Model,則默認用ODataListBinding:

上面返回空值的odata call就是a調用initialize()這一句發出的,如果控件沒有Model,這里的a就是一個ODataListBinding

再回過來看剛才還有一個odata call (network里面的第一條),獲取了attachment數據之后將數據set到控件的JSON Model里面:

于是將bind aggregation的邏輯移到這個odata call的回調里面做,這個時候控件已經綁定了JSON Model,所以determine出來的binding類型是JSONListBinding,就不會再發一次多余的odata call了。

總結:如果給UI5控件綁定數據的時候是自己寫邏輯用JSON Model的,要注意一下控件初始化還沒有數據的時候,有沒有額外的odata call,造成不必要的開銷。
查了一下UI5的API,好像沒找到UI5控件支持綁定了OData 之后,數據延遲加載的屬性……
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

總結

以上是生活随笔為你收集整理的logon dialog 的弹出逻辑debug出来了,有很多有用的代码片段的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。