[英]How to use a json object from a local file as a datamodel in openui5?
我对示例https://github.com/SAP/openui5-masterdetail-app有问题
我想在文件夹'webapp / localService / mockdata'中使用两个json文件Objects.json和LineItems.json
我有本地安装(没有WEB IDE)。 工作正常。
我进行了以下更改
webapp / manifest.json
...
"resources": "resources.json",
"dataSources": {
"tableData_alias": {
"uri": "localService/mockdata/Objects.json",
"type": "JSON"
}
}
...
"models": {
"i18n": {
"type": "sap.ui.model.resource.ResourceModel",
"settings": {
"bundleName": "sap.ui.demo.masterdetail.i18n.i18n"
}
},
"tableData": {
"type": "sap.ui.model.json.JSONModel",
"dataSource": "tableData_alias",
"preload": true
}
},
webapp / view / Master.view.xml
...
items="{
path: 'DataModel>/',
sorter: {
path: 'Name',
descending: false
},
groupHeaderFactory: '.createGroupHeader'
}"
...
webapp / controller / Master.controller.js
onInit : function () {
var dataModel = this.getOwnerComponent().getModel("tableData");
this.getView().setModel(dataModel, "DataModel");
// Control state model
var oList = this.byId("list"),
...
文件Objects.json将被加载,但主表未呈现。 (“详细信息”列表是以后对我的下一步...)
在浏览器的控制台中,我收到以下错误:_未能加载容器容器的组件。 原因:TypeError:无法获取未定义或空引用的属性'attachMetadataFailed'-_
请帮助,什么不正确。 (也许整个例子在github上?)
在webapp/controller/Master.controller.js
,请尝试在onAfterRendering: function()
而不要在onInit: function()
谢谢
请尝试以下解决方案。 我没有看到任何代码错误,但是您正在onInit函数中为上下文视图设置json模型,该模型可能为空。
在webapp / view / Master.view.xml中 ,可以使用在manifest.json中定义的模型直接绑定聚合项路径。
...
items="{
path: 'tableData>/',
sorter: {
path: 'Name',
descending: false
},
groupHeaderFactory: '.createGroupHeader'
}"
...
谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.