我遇到的问题是我创建了一个新的SAPUI5应用程序,现在想要使用sap.ui.getCore()。byId(id)来访问现有的控件。在同一个控制器/视图中,我可以通过this.byId(id)访问它们,但是为了访问其他文件(例如控制器)中的控件,我需要sap.ui.getCore()。byId(id)。
然而,当sap.ui.getCore()返回一个核心对象时,我无法通过它的byId()函数访问控件(返回" undefined")。
我有什么必须配置才能使用吗?
我已经使用SAPUI5构建了一个应用程序,我对此函数调用没有任何问题。有人有想法吗? 谢谢!
答案 0 :(得分:15)
如果你查看View的byId-method,你可以看到它预先构建了视图Id,它实际上是调用sap.ui.getCore()。byId(this.createId(id))。
这样您可以多次实例化视图而不会出现重复的ID。要从外部访问控件,您需要View以便调用view.byId(id),或者您必须手动将视图的id与id连接起来:sap.ui.getCore()。byId (viewId +“ - ”+ id)。