Sapui5 从另一个视图调用视图控件以获取应用程序中的数据

Sapui5 从另一个视图调用视图控件以获取应用程序中的数据,sapui5,sap-fiori,Sapui5,Sap Fiori,我试图从局部视图控制器调用主视图的控件。如果我这样做,我就能得到列表数据 sap.ui.getCore().byId("application-Test-url-component---master--list") 如果我这样做,我就无法得到名单 sap.ui.getCore().byId("list"). 如果任何版本发生更改,这是调用的正确方法吗 sap.ui.getCore().byId("application-Test-url-component---master--list")

我试图从局部视图控制器调用主视图的控件。如果我这样做,我就能得到列表数据

sap.ui.getCore().byId("application-Test-url-component---master--list")
如果我这样做,我就无法得到名单

sap.ui.getCore().byId("list").
如果任何版本发生更改,这是调用的正确方法吗

sap.ui.getCore().byId("application-Test-url-component---master--list")

请提供建议或任何链接。

首先,不要在
核心
上使用
byId(…)
方法,这是不好的做法,也不是一个好习惯

出于您的兴趣,您的第一行代码确实找到了相关的UI控件,但第二行没有找到,原因是
Core
在Fiori Launchpad中的所有应用程序之间共享。这意味着所有控件ID都以应用程序名称空间作为前缀,并且由于第二行代码不包含应用程序名称空间,因此找不到该控件


至于如何从其他地方正确地从该控件获取列表数据,只需从绑定该控件的同一模型路径获取绑定数据即可。例如,如果主列表绑定到
{/Products}
,则通过
this.getView().getModel().getProperty(“/Products”)
获得相同的数据。但是,这假设您的数据模型在整个应用程序中共享。我建议您阅读UI5文档,了解更多关于MVC体系结构的信息,因为UI控件应该只显示存储在底层模型中的数据,而这正是数据应该存在的地方。

尝试以下操作:只需在控制器中编写数据提供程序方法,数据来自bTob,这几乎没有任何用例。通常你可以通过路由来处理事情。您为什么要这样做?谢谢Erch abd bkr提供的信息..谢谢bkr使用路由器我能够获取数据