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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

SAP UI5框架中,onInit方法执行次数的讨论

發布時間:2023/12/19 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP UI5框架中,onInit方法执行次数的讨论 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

onInit只會被執行一次:

_getViewWithGlobalId最后會調用onInit:

UI框架都是相通的,我們以前做的Web UI,onInit也只會執行一次,而DO_PREPARE_OUTPUT每次roundtrip都會被call到,相當于UI5的before/afterRendering.

ABAP webdynpro也是如此。

但我從未留意過框架的實現,其實也就是:onInit被method A 觸發, onBefore/AfterRendering被method B觸發,而method A在整個生命周期只會被call 一次,而method B會被重復call到。

The router will be initialized according to your components.js definition,it only returns the routing information which matches your url pattern.

簡單看了下,以onInit為例,on能清晰地表明這是個event Handler,event name 為Init。有eventHandler就一定有event issuer, 我們不考慮有應用手動call onInit這種技術上可行,但沒人這樣做的錯誤做法。
在view執行完其pre-preocessor之后,框架就會fire一個afterInit的event,且這個event只會fire一次,所以event listener也就只會被call 一次。

至于controller的onInit是什么時候注冊到view的init event上,這就是UI5的MVC design了,在241行。仔細看callstack。

有個問題,View的onBeforeRendering只會觸發一次。這個可以任意找一個頁面嘗試。為什么View instance的onBeforeRendering只會執行一次?
1.當第一次進入View的時候,頁面都會從最外層控件一直到最里面的子控件逐一render,在逐一render過程中,顯示trigger了 onBeforeRendering

2.當在界面中切換detail page,只會partially update,此過程不再有調用onBeforeRendering

總結

以上是生活随笔為你收集整理的SAP UI5框架中,onInit方法执行次数的讨论的全部內容,希望文章能夠幫你解決所遇到的問題。

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