Sapui5 如何在openui5中将本地文件中的json对象用作数据模型?

Sapui5 如何在openui5中将本地文件中的json对象用作数据模型?,sapui5,jsonmodel,Sapui5,Jsonmodel,我对这个例子有一个问题 我想使用文件夹“webapp/localService/mockdata”中的两个json文件Objects.json和LineItems.json 我有一个本地安装(没有WEB IDE)。它很好用 我做了以下改变 webapp/manifest.json ... "resources": "resources.json", "dataSources": { "tableData_alias": { "uri": "localService/mo

我对这个例子有一个问题

我想使用文件夹“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()


感谢
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'
    }"
...

谢谢。

试试下面的解决方案。我没有看到任何代码错误,但您正在onInit函数中为上下文视图设置json模型,该模型可能为空

webapp/view/Master.view.xml中,可以使用manifest.json中定义的模型直接绑定聚合路径

 ...
items="{
        path: 'tableData>/',
        sorter: {
            path: 'Name',
            descending: false
        },
        groupHeaderFactory: '.createGroupHeader'
    }"
...

谢谢。

不显示主表是什么意思?您的意思是不呈现该表或呈现该表,但不显示任何数据。还有,您的JSON看起来如何,它是否包含链接到属性“Objects”的数组?JSON不包含
/Objects
。因此,这可能会修复它:
路径:“DataModel>/”,
。不显示主表是什么意思?您的意思是不呈现该表或呈现该表,但不显示任何数据。还有,您的JSON看起来如何,它是否包含链接到属性“Objects”的数组?JSON不包含
/Objects
。因此,这可能会修复它:
路径:“DataModel>/”,