【问题标题】:Issue in changing odata version in webide在 webide 中更改 odata 版本的问题
【发布时间】:2016-05-11 21:45:24
【问题描述】:

我正在尝试在我的 Web IDE 中将我的 OData 版本更改为 V1,我尝试将以下代码保留在 mainfest.json 的模型对象中。

"": {
    "type": "sap.ui.model.odata.ODataModel",
    "dataSource": "mainService",
    "settings": {
        "metadataUrlParams": {
            "sap-documentation": "heading"
        }
    }
}

当控件来到 component.js 时,this.getModel() 给我的 OData 版本为 V1,但是当我执行这一行时

UIComponent.prototype.init.apply(this, arguments);

给我错误

 Uncaught TypeError: this.getOwnerComponent(...).getModel(...).metadataLoaded is not a function.

我正在 Web IDE 中开发 SAPUI5 Master-Detail 应用程序。如何解决这个问题?有什么建议吗?

【问题讨论】:

    标签: odata sapui5 web-ide


    【解决方案1】:

    从 1.28 到更高版本的区别在于 metadataLoaded-function。 SAP 在他们的版本中改变了它......坏习惯顺便说一句。

    在 1.28 中你需要在没有承诺的情况下使用它:

    oDataModel.onMetadataLoaded(function(data) {
        console.log('finished', data);
    });
    

    1.28以上可以配合promise使用

    oDataModel.metadataLoaded().then(function(data) {
       console.log('finished', data);
    });
    

    【讨论】:

    • 这是顺便说一句。为什么它告诉你“它不是一个有效的功能”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    相关资源
    最近更新 更多