从控制器访问核心模型不起作用

时间:2016-01-30 10:30:52

标签: sapui5

我在Component.js中添加了一个命名模型。我可以从任何视图访问带有其名称的模型,但我想从一个对我不起作用的控制器访问该模型。

sap.ui.core.getModel("modelName")无效,sap.ui.getCore().getModel("modelName")也无效。

如何从控制器中引用其包含的Component和命名模型?

2 个答案:

答案 0 :(得分:8)

请在控制器中使用this.getView().getModel(name)。为解决在onInit中尚未准备好在组件中创建/从组件创建的模型的问题,我在基本控制器中添加了getModel方法:

getModel : function(name) {
    return this.getView().getModel(name) || this.getOwnerComponent().getModel(name);
}

答案 1 :(得分:8)

如果使用清单路径sap.ui5->模型注册模型,它似乎仅在控制器中可用

  this.getOwnerComponent().getModel(modelName);

我特别为i18n型号体验过这一点。