Binding 在控制器中获取模型
在SAPUI5应用程序中,我在控制器中使用onBeforeRendering函数在视图显示之前更新视图 在函数中,我尝试使用以下方法获取路径:Binding 在控制器中获取模型,binding,model,controller,sapui5,Binding,Model,Controller,Sapui5,在SAPUI5应用程序中,我在控制器中使用onBeforeRendering函数在视图显示之前更新视图 在函数中,我尝试使用以下方法获取路径: var sPath = evt.getSource().getBindingContext().getPath(); 但它告诉我evt.getSource().getBindingContext()是未定义的。 但我需要它来得到模型 通常我会得到这样的模型: var data = this.getView().getModel().getData(sP
var sPath = evt.getSource().getBindingContext().getPath();
但它告诉我evt.getSource().getBindingContext()是未定义的。
但我需要它来得到模型
通常我会得到这样的模型:
var data = this.getView().getModel().getData(sPath);
但现在我不能,因为我找不到路
与:
它也不工作(空)
但是,在控制台中,我可以使用以下方法获取模型:
var data = this.getView().getModel().oData;
但是,我知道这不是一件好事……在阅读了你的问题后,我想到了以下几点。要获得更准确的答案,我们需要查看您的代码
this.getView().getModel().getData()在定义后进行编码李>
例如,如果在ajax调用的success函数中设置模型,那么当您到达尝试调用它的行时,调用可能不会完成
检查模型是否没有名称。如果是,则通过this.getView().getModel(“model's-name-here”).getData()调用它代码>
一致
var sPath=evt.getSource().getBindingContext().getPath()代码>
您尝试从事件(evt
)获取模型。检查onbeforeredering
函数中是否存在该事件
检查您是否将调用的模型附加到视图(this.getView().setModel(oModel)
)而不是核心(sap.ui.getCore().setModel(oModel)
)
为了帮助您,我们需要查看更多的代码。您能告诉我们您是如何将模型设置为视图的吗?
var data = this.getView().getModel().oData;