如何在某个视图中获取对另一个视图控件的引用?

时间:2015-06-29 09:00:30

标签: sapui5

由“ViewA.view.js”创建的ViewA绑定到JSONModel。在一个名为ViewB的视图中,我想获取ViewA绑定的JSONModel中的数据。 如何才能在“ViewB.view.js”中获得对ViewA的引用?

2 个答案:

答案 0 :(得分:1)

您可以使用视图的 viewData 属性来完成。

假设你有一个模型:ViewA中的oModel。

在ViewA中调用新视图(ViewB)时,请执行以下操作。

var oViewB = sap.ui.view({
  viewName: "myApp.ViewA",
  type: sap.ui.core.mvc.ViewType.<type>,
  viewData: oModel.getData()
});

在ViewB的createContent:

  createContent: function(oController) {
      var oDataFromViewA = this.getViewData();
      ....
      ....
      ....

    }

答案 1 :(得分:0)

通常,将视图紧密耦合到共享模型数据不是最佳做法。更好的方法是使用所有视图中都可用的全局模型。您可以通过调用sap.ui.getCore()。setModel(modelInstance,modelName)来完成此操作。