我们目前正在构建一组应用程序,其中有大量重用。
目前我们通过使用它得到了它 jQuery.sap.registerModulePath和jQuery.sap.require。 但根据 Using and Nesting Components您应该能够在manifest.json文件中声明重用组件。
我查看了SAPUI5 Developer Guide,但无法真正发挥作用。据我所知,我需要添加以下内容:
"sap.App" :{
"embeddedBy" : "../.."
},
"sap.ui5": {
"componentUsages" :{
"<string for my reuse component>" : {
"name" : "<name of the component>"
}
"dependencies" :{
"components" : {
"<namespace of my component>"
}}
任何人都有一个有效的例子吗?
答案 0 :(得分:1)
以下是嵌套组件的工作示例:https://embed.plnkr.co/e7KS48/
描述符属性componentUsages
可用since 1.47.0。一旦定义,UI5负责解析组件及其模块路径before rendering拥有的ComponentContainer。
需要ComponentContainer,因为如果没有容器,则无法将Component放入UI中。在上面的示例中,Container在 Home.view.xml 中以声明方式定义,具有相应的usage
属性。
<core:ComponentContainer id="containerForChildComponent"
autoPrefixId="true"
settings="{id: 'childComponent'}"
usage="reuseAnotherComponent"
manifest="true"
height="100%"
async="true"
/>
"sap.ui5": {
"componentUsages": {
"reuseAnotherComponent": {
"name": "anotherComponent",
"lazy": false
}
},
"resourceRoots": {
"anotherComponent": "./component_B"
},
// ...
}
如您所见,resourceRoots
也可以在描述符中定义,可以指向其他组件/应用程序位置。
版本低于1.47的UI5应用示例: https://embed.plnkr.co/ytXZJ9