我在慢速3G连接上测试我的UI5应用程序的性能。我注意到使用sap.ui.unified.Calendar
时第一次加载sap.m.DateTimePicker
需要相当长的时间。
official documentation中提到了这一点。建议的解决方案是预加载sap.ui.unified
库。我尝试了多种方法,但无论我做什么,Calendar
仍然需要很长时间才能加载。
sap.ui.unified
中将data-sap-ui-libs
添加到index.html
。jQuery.sap.require("sap.ui.unified")
(即
显然已经弃用了。)sap.ui.require(["sap/ui/unified/Calendar"])
。这些解决方案都不起作用。任何帮助将不胜感激。
更新
DateTimePicker
在XML视图中声明如下:
<DateTimePicker
id="dtClockIn"
valueFormat="MM-dd-YYYY hh:mm a"
displayFormat="MM-dd-YYYY hh:mm a"
placeholder="MM-DD-YYYY hh:mm ampm"/>
控制器中没有任何奇特的事情发生。
答案 0 :(得分:1)
目前,库资源包(messagebundle*.properties
文件)按按需和同步加载,这会在使用相应控件之前产生瓶颈(例如日历)。我担心我们不能做太多。
但是,当UI准备就绪时,您可以通过手动调用getLibraryResourceBundle
来至少预取捆绑文件。例如。在afterShow
:
onAfterShow: function() {
sap.ui.getCore().getLibraryResourceBundle("sap.ui.unified");
// Avoids fetching it later when the Calendar is about to be shown
},
With v1.52,只要将库配置为异步加载,就会异步加载此类bundle。以下是一个示例:https://output.jsbin.com/qolesuf