如何正确绑定模型?

时间:2019-07-04 07:34:13

标签: javascript sapui5

如果用户在“自定义控件”的输入字段中输入输入并提交了值,则要求ist将此值添加到模型并重新呈现视图。

调试显示该值已成功添加到模型中,但视图未重新呈现:

App.controller.js

onInit: function() {

  // set mock model
  var sPath = sap.ui.require.toUrl("xxx/custom") + "/feed.json";
  var oModel = new JSONModel(sPath);
  this.getView().setModel(oModel);

  var oPage = this.getView().byId("xx-content");

  var oCustomControl = new CustomControl("cc",{
    messages: "{/data}"
  });

  oPage.addContent(oCustomControl);
}

CustomControl.js

...
  _onMessageAdd: function (oEvent) {
    var model = sap.ui.getCore().byId("cc").getModel().getProperty("/data");

    var oData = {
      text: "abc", text2: ["abc", "def"]
    }

    model.push(oData);

...

1 个答案:

答案 0 :(得分:0)

您必须告诉模型您正在更新属性。因此,只需在“ model.push”之后添加此函数调用:

sap.ui.getCore().byId("cc").getModel().setProperty("/data", model);