我们在sUIUI5探索的演示中使用openUI5中的JSON视图,他们将这个xml视图用于他们的分组列表
<mvc:View
controllerName="sap.m.sample.ListGrouping.List"
xmlns:l="sap.ui.layout"
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m">
<List
items="{
path: '/ProductCollection',
sorter: {
path: 'SupplierName',
descending: false,
group: true
},
groupHeaderFactory: '.getGroupHeader'
}"
headerText="Products" >
<StandardListItem
title="{Name}"
description="{ProductId}"
icon="{ProductPicUrl}"
iconDensityAware="false"
iconInset="false" />
</List>
</mvc:View>
我们将其翻译为此json视图,但忽略了分拣机和标题工厂。项目按预期显示
{
"Type": "sap.ui.core.mvc.JSONView",
"controllerName": "company.controller.XY",
"content": [
{
"Type" : "sap.m.List",
"height" : "100%",
"items" : {
"path" : "/ProductCollection",
"sorter" : {
"path" : "SupplierName",
"descending" : false,
"group" : true
},
"groupHeaderFactory" : ".getGroupHeader",
"template" : {
"Type" : "sap.m.StandardListItem",
"title" : "{Name}",
"description" : "{ProductId}",
"icon" : "{ProductPicUrl}",
"iconDensityAware" : false,
"iconInset" : false
}
}
}
]
}
如何将xml视图转换为json视图? 是否有任何工具可以自动执行此操作?
答案 0 :(得分:8)
我刚刚在github上报告了你的问题 根据SAP-Developers,这是一个recognized JSON-View Bug。
... JSONView目前无法正确解析控制器方法。这是JSONView中的一个已知缺口,遗憾的是它虽然已经在6月份被检测到,但仍然没有被关闭(JSONViews没有被使用那么多......)。
您唯一的选择是通过Javascript在Controller中创建sap.m.List.items
- 绑定,或将您的View声明切换为Javascript或XML-Views。