Sapui5 从控制器访问核心模型不工作

Sapui5 从控制器访问核心模型不工作,sapui5,Sapui5,我在Component.js中添加了一个命名模型。我可以从任何视图访问名为的模型,但我想从一个不适合我的控制器访问此模型 sap.ui.core.getModel(“modelName”)不工作,sap.ui.getCore().getModel(“modelName”)也不工作 如何从控制器引用其包含组件和命名模型?请在控制器中使用this.getView().getModel(name)。为了解决在组件中创建的模型在onInit中尚未就绪的问题,我在基本控制器中添加了getModel方法:

我在Component.js中添加了一个命名模型。我可以从任何视图访问名为的模型,但我想从一个不适合我的控制器访问此模型

sap.ui.core.getModel(“modelName”)
不工作,
sap.ui.getCore().getModel(“modelName”)
也不工作


如何从控制器引用其包含组件和命名模型?

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

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

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

  this.getOwnerComponent().getModel(modelName);

我特别是在i18n机型上经历过这种情况。

知道为什么会发生这种变化吗?从哪个版本?我知道了。这是因为,在现实世界中,我们可以有多个组件。sap.ui.core将指向其他组件(可能是根组件,尚待测试),但不是所有者组件!!