根据OpenUI5 API参考,Controller.getView()返回“ ...与此控制器关联的视图或未定义的视图。”
我没有得到什么:控制器在哪里与特定视图绑定在一起?
控制器不保留有关视图的信息。另一方面,视图具有属性“ controllerName ”。
但是控制器如何获取有关其关联视图的信息?是通过文件命名完成的吗?
答案 0 :(得分:3)
Controller具有一个名为Controller.prototype.connectToView的方法,在该方法中,顾名思义,已建立连接。
该框架自行调用它,因此连接是自动进行的。 基本上,该方法在名为oView的控制器内部创建一个属性,用于存储视图。
如果要在其中一个函数中调用调试器,只需切换到控制台,键入“ this”,控制台将为控制器提供控制器。按箭头查看控制器的内容和BAM,您将看到我所说的属性。
答案 1 :(得分:2)
通过视图中控制器名称的定义将控制器与视图绑定,例如:
<mvc:View controllerName="controllerName" xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m"
xmlns:suite="sap.suite.ui.commons" xmlns:l="sap.ui.layout" xmlns:viz="sap.viz.ui5.controls"
xmlns:viz.feeds="sap.viz.ui5.controls.common.feeds" xmlns:viz.data="sap.viz.ui5.data" xmlns:vbm="sap.ui.vbm" displayBlock="true"
xmlns:html="http://www.w3.org/1999/xhtml">