加载 UI5 片段
Loading the UI5 fragments
在官方 UI5 文档中,有一个代码片段如何加载 sap.ui.core.Fragment
:
sap.ui.require(["sap/ui/core/Fragment"], async function(Fragment){
this.myFragment = await Fragment.load({
name: "my.useful.VerySimpleUiPart"
});
});
同时,我可以使用 sap.ui.core.mvc.Controller
的 loadFragment
加载 sap.ui.core.Fragment
:
this.myFragment = await this.loadFragment({
name: "my.useful.VerySimpleUiPart"
});
this
是基于 sap.ui.core.mvc.Controller
.
的 BaseController
的实例
据我了解,loadFragment
在后台使用 sap.ui.core.Fragment.load
:
Loads a Fragment by sap.ui.core.Fragment.load
.
如果是这样,我们为什么还需要 Controller.loadFragment
?
是否有官方 SAP 建议使用哪种方法?
片段加载随着新版本的发布而发展:
之前:1.58:
sap.ui.xmlfragment Deprecated as of version 1.58. use sap.ui.core.Fragment.load instead
从: 1.58:
sap.ui.core.Fragment.load
从: 1.93:
sap.ui.core.mvc.Controller.loadFragment
因此推荐的方法取决于您的 UI5 版本。
最新版本 (1.95) 的推荐在 SAPUI5 SDK 的 Instantiation of Fragments 部分。
在官方 UI5 文档中,有一个代码片段如何加载 sap.ui.core.Fragment
:
sap.ui.require(["sap/ui/core/Fragment"], async function(Fragment){
this.myFragment = await Fragment.load({
name: "my.useful.VerySimpleUiPart"
});
});
同时,我可以使用 sap.ui.core.mvc.Controller
的 loadFragment
加载 sap.ui.core.Fragment
:
this.myFragment = await this.loadFragment({
name: "my.useful.VerySimpleUiPart"
});
this
是基于 sap.ui.core.mvc.Controller
.
BaseController
的实例
据我了解,loadFragment
在后台使用 sap.ui.core.Fragment.load
:
Loads a Fragment by
sap.ui.core.Fragment.load
.
如果是这样,我们为什么还需要 Controller.loadFragment
?
是否有官方 SAP 建议使用哪种方法?
片段加载随着新版本的发布而发展:
之前:1.58:
sap.ui.xmlfragment Deprecated as of version 1.58. use sap.ui.core.Fragment.load instead
从: 1.58:
sap.ui.core.Fragment.load
从: 1.93:
sap.ui.core.mvc.Controller.loadFragment
因此推荐的方法取决于您的 UI5 版本。
最新版本 (1.95) 的推荐在 SAPUI5 SDK 的 Instantiation of Fragments 部分。