设置模型应用程序范围或仅在视图上

时间:2018-01-24 07:34:01

标签: sapui5

我有一个控制器,可以在onInit函数上创建一个模型:

return Controller.extend("com.mindustry.SalesStatistics2.controller.Content", {

    onInit: function() {
      this.getOwnerComponent().setModel(oModel, "PayersSuggestion");
      .....

问题是,PayersSuggestion模型是全局定义还是仅限于本地?

之间有什么区别
this.getOwnerComponent().setModel(oModel, "PayersSuggestion");

this.getView().setModel(oModel, "PayersSuggestion");

当我在onInit函数上使用第二个时,例如几行后我会调用

const oPayersModel = this.getView().getModel("PayersSuggestion");  

然后oPayersModel将是undefined

1 个答案:

答案 0 :(得分:2)

将模型分配给Component(使用getOwnerCOmponent API)也将由Views继承。 (但只有在实例化当前视图之后)。 这是因为组件在层次结构中处于更高级别。

可以在视图中以及在其中的控件中分配视图。