繁体   English   中英

在Sapui5中的一个控制器上加载两个json模型

[英]Load two json model at one controller in Sapui5

我有两个json数据。当我尝试此代码时,chrome控制台仅显示最后加载的json模型。 我如何在一个控制器中加载两个json? 这是我尝试过的代码。

   var view = this.getView();
    var model2 = new sap.ui.model.json.JSONModel();
    model2.loadData("model/x.json");
    var model3 = new sap.ui.model.json.JSONModel();
    model3.loadData("model/y.json");
    view.setModel(model3);
    view.setModel(model2)

和这个。

    var view = this.getView();
    var model2 = new sap.ui.model.json.JSONModel();
    model2.loadData("model/x.json");
    model2.loadData("model/y.json");
    view.setModel(model2)

setModel方法采用两个参数。 第一个是要设置的实际模型,第二个是存储模型的名称。 通常,您可以使用setModel(oModel) ,然后使用undefined名称存储该模型。 这就是您要做的,将一个模型设置为未定义的名称,然后用第二个模型覆盖它。 要同时存储两者,必须为至少一个模型指定一个名称。 所以如果你打电话

view.setModel(model1, "bar");
view.setModel(model2, "foo");

你可以得到他们

var barmodel = view.getModel("bar");
var foomodel = view.getModel("foo");

不要忘记通过将模型名称添加为前缀来调整绑定,例如bar>。

方法loadData具有参数bMerge ,该参数指示来自服务器的响应应合并到现有数据中,而不是覆盖数据。 请检查API

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM