Sapui5 请参阅单独部署的组件,以便在ui5应用程序中重用
我正在开发一些应用程序,每个人都需要以相同的方式显示文档。为此,我创建了一个新组件,它在一个单独的组件中处理我的文档。然后我只想从我的不同应用程序中重用这个组件 为了嵌入重用组件,我在my view.xml中使用了如下内容:Sapui5 请参阅单独部署的组件,以便在ui5应用程序中重用,sapui5,Sapui5,我正在开发一些应用程序,每个人都需要以相同的方式显示文档。为此,我创建了一个新组件,它在一个单独的组件中处理我的文档。然后我只想从我的不同应用程序中重用这个组件 为了嵌入重用组件,我在my view.xml中使用了如下内容: <core:ComponentContainer name="de.mycomp.base.DocViewer" component="de.mycomp.base.DocViewer" settings='\{"param1":"valu
<core:ComponentContainer
name="de.mycomp.base.DocViewer"
component="de.mycomp.base.DocViewer"
settings='\{"param1":"value1"\}'/>
在本例中,zdocviewer是重用组件部署到的bsp应用程序的名称。为了在webide和SAP云平台上也能使用,我需要在neo-app.json中添加一个条目
像这样:
{
"path": "/sap/bc/ui5_ui5/sap/zdocviewer",
"target": {
"type": "application",
"name": "docviewer"
},
"description": "my base document viewer"
},
其中,docviewer是已部署的应用程序的名称,该应用程序在SCP上具有重用组件。
类型应用程序表示此目的地是一个应用程序
到目前为止,这在内部部署和sap云上都有效。
但我的问题是我不想在Component.js中使用registerModulePath。几乎所有组件的配置都发生在manifest.json文件中。所以我尝试将此代码行移动到manifest.json中的配置中,但到目前为止我失败了
以下是我所做的:
- 我在sap.ui5节中添加了一个依赖项,在依赖项条目中如下所示:
- 我在sap.ui5部分中添加了以下条目
Matthias请参见此处:ui5重用组件: 你在这里混淆了新旧方法,在这个答案中扭曲所有步骤将是非常漫长的。以下是简单的一步一步的方法:
- 定义您的组件用法
- 在resourceRoots中定义路径映射
- 定义目标类型组件
- 使用嵌套路由
你好,谢谢你的回答。这些步骤看起来很有说服力,我将更仔细地了解它和您提供的链接。但在我看来,我必须使用更新的UI5版本。你能告诉我需要哪个ui5版本吗。实际上,我们需要在ui5版本降至1.44的sap系统上支持我们的ui5应用程序的部署。向Matthiasfor1.44 avoide组件致意。支持率很高。复制每个应用程序中的视图控制器。或者检查图书馆是否适合此案例。顺便说一句,1.44已无法维护:任何人都不应出于财务/支持原因再使用它。
{
"path": "/sap/bc/ui5_ui5/sap/zdocviewer",
"target": {
"type": "application",
"name": "docviewer"
},
"description": "my base document viewer"
},
"components": {
"de.dvelop.base.DvelopBaseDocViewer": {
"lazy": true
}
}
"resourceRoots": {
"de.dvelop.base.DvelopBaseDocViewer": "/sap/bc/ui5_ui5/sap/zdocviewer"
},
"componentUsages": {
"myDoc": {
"name": "com.company.myDoc",
"settings": {},
"componentData": {},
"lazy": true
}}
"resourceRoots": {
"com.company.myDoc": "/sap/bc/ui5_ui5/sap/zdocviewer"
},
"targets": {
"myDocTarget": {
"type": "Component",
"usage": "myDoc"
}
.getRouter()
.navTo("myDocRoute", {
id: oBindingContext.getProperty("CategoryID")
}, {
products: {
route: "list",
parameters: {
}
}
});