如何检索SAPUI5视图

如何检索SAPUI5视图,sapui5,Sapui5,我只是想知道如何在应用程序中获得sapui5视图之一 我知道有一种方法: sap.ui.jsView() 例如,如果视图是用javascript编写的。但是这个方法的问题是,如果您为任何一个控件分配了一个ID,并且您已经扩展了这个视图,那么您将得到一个错误。因此,我想知道如何检查视图是否已经存在,如果是,则使用上述方法返回该视图 我也知道在控制视图中我可以去 this.getView() 但正如我所说的,如何从另一个角度获得这个观点?我不太理解你的问题 具有托管对象id的视图是唯一的,因此,

我只是想知道如何在应用程序中获得sapui5视图之一

我知道有一种方法:

sap.ui.jsView()
例如,如果视图是用javascript编写的。但是这个方法的问题是,如果您为任何一个控件分配了一个ID,并且您已经扩展了这个视图,那么您将得到一个错误。因此,我想知道如何检查视图是否已经存在,如果是,则使用上述方法返回该视图

我也知道在控制视图中我可以去

this.getView()

但正如我所说的,如何从另一个角度获得这个观点?

我不太理解你的问题

具有托管对象id的视图是唯一的,因此,如果尝试创建同一视图两次,将出现错误

创建视图时,最简单的访问方法是通过Id

 sap.ui.jsview("view1",'testapp.view.view1');
 sap.ui.getCore().byId('view1');

注意。视图不应该与控制器以外的任何人交谈

我认为这里有一个解决方案

生成一个全局变量

使用它来创建元素

乍一看:

var mytextField ;(use it as global)

mytextField = new sap.ui.commons.TextField('textfieldId');
第二种观点:

var myValue = mytextField .getValue();

~Mansi Rao

谢谢Jasper,这正是我需要的。我会查看你的链接,但我的应用程序就像按下一个按钮进入另一个视图。如何通过不在另一个视图中调用一个视图来实现这一点?按下按钮时调用的功能在控制器中,对吗?它当然不应该出现在视图中,因此您已经自己给出了答案;-)