JSONView 的 SAPUI5 组件元数据 rootView 参数
SAPUI5 Component Metadata rootView Parameter for JSONView
有没有人能够在 SAPUI5(或 OPENUI5)组件的元数据中的 rootView
参数中指定一个 JSON 视图。我的最终目标是使用 JSON 视图实现类似于此 "Best Practices" 演示应用程序的功能。
在 "Application Best Practices" UI5 演示应用程序中,component.js 文件包含一个元数据参数:rootView: "sap.ui.demo.tdg.view.App"
指向声明的同名 XML 视图如下:
<mvc:View
xmlns:mvc="sap.ui.core.mvc"
displayBlock="true"
xmlns="sap.m">
<SplitApp id="idAppControl" />
</mvc:View>
此外,路由器配置包含 viewType : "XML"
。
我没有看到在 rootView
参数中指定 JSON 视图的示例,但也没有看到说明此参数仅适用于 XML 视图的文档。我自己没有成功创建以下 App.view.json 文件:
{
"Type": "sap.ui.core.mvc.JSONView",
"controllerName": "sap.ui.demo.tdg.view.App",
"content": [
{
"Type": "sap.m.SplitApp",
"id": "idAppControl" /*,
}
]
}
并更改 viewType : "JSON"
。
如果您使用的是 Component.js,则在 createContent 方法中,您可以 return 任何类型的根视图。例如,我有与您相似的元数据配置,可在我的 Component.js 文件中找到。
在同一个文件中,我有一个函数 createContent,它在组件初始化时被调用,在这个方法中,我 return 一个 JS 类型的视图。您没有理由不 return JSON 视图。因此,将此参数类型更改为您选择的类型,即 JSON.
jQuery.sap.declare("my.app.Component");
jQuery.sap.require("my.app.MyRouter");
sap.ui.core.UIComponent.extend("my.app.Component",{
metadata : {
dependencies : {
libs : [ "sap.m", "sap.ui.layout" ],
components : []
},
rootView : "my.app.view.App",
etc...
},
...
createContent : function() {
// create root view
var oView = sap.ui.view({
id : "idApp",
viewName : "view.App",
type : "JSON", // <-- change this to JSON
viewData : {
component : this
}
});
// done
return oView;
}
});
干杯
有没有人能够在 SAPUI5(或 OPENUI5)组件的元数据中的 rootView
参数中指定一个 JSON 视图。我的最终目标是使用 JSON 视图实现类似于此 "Best Practices" 演示应用程序的功能。
在 "Application Best Practices" UI5 演示应用程序中,component.js 文件包含一个元数据参数:rootView: "sap.ui.demo.tdg.view.App"
指向声明的同名 XML 视图如下:
<mvc:View
xmlns:mvc="sap.ui.core.mvc"
displayBlock="true"
xmlns="sap.m">
<SplitApp id="idAppControl" />
</mvc:View>
此外,路由器配置包含 viewType : "XML"
。
我没有看到在 rootView
参数中指定 JSON 视图的示例,但也没有看到说明此参数仅适用于 XML 视图的文档。我自己没有成功创建以下 App.view.json 文件:
{
"Type": "sap.ui.core.mvc.JSONView",
"controllerName": "sap.ui.demo.tdg.view.App",
"content": [
{
"Type": "sap.m.SplitApp",
"id": "idAppControl" /*,
}
]
}
并更改 viewType : "JSON"
。
如果您使用的是 Component.js,则在 createContent 方法中,您可以 return 任何类型的根视图。例如,我有与您相似的元数据配置,可在我的 Component.js 文件中找到。
在同一个文件中,我有一个函数 createContent,它在组件初始化时被调用,在这个方法中,我 return 一个 JS 类型的视图。您没有理由不 return JSON 视图。因此,将此参数类型更改为您选择的类型,即 JSON.
jQuery.sap.declare("my.app.Component");
jQuery.sap.require("my.app.MyRouter");
sap.ui.core.UIComponent.extend("my.app.Component",{
metadata : {
dependencies : {
libs : [ "sap.m", "sap.ui.layout" ],
components : []
},
rootView : "my.app.view.App",
etc...
},
...
createContent : function() {
// create root view
var oView = sap.ui.view({
id : "idApp",
viewName : "view.App",
type : "JSON", // <-- change this to JSON
viewData : {
component : this
}
});
// done
return oView;
}
});
干杯