了解OpenUI5的Controller.getView()

时间:2018-08-08 08:45:05

标签: sapui5

根据OpenUI5 API参考,Controller.getView()返回“ ...与此控制器关联的视图或未定义的视图。

来源:API: getView()

我没有得到什么:控制器在哪里与特定视图绑定在一起?

控制器不保留有关视图的信息。另一方面,视图具有属性“ controllerName ”。

但是控制器如何获取有关其关联视图的信息?是通过文件命名完成的吗?

2 个答案:

答案 0 :(得分:3)

Controller具有一个名为Controller.prototype.connectToView的方法,在该方法中,顾名思义,已建立连接。

该框架自行调用它,因此连接是自动进行的。 基本上,该方法在名为oView的控制器内部创建一个属性,用于存储视图。

如果要在其中一个函数中调用调试器,只需切换到控制台,键入“ this”,控制台将为控制器提供控制器。按箭头查看控制器的内容和BAM,您将看到我所说的属性。

oView property in controller

答案 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">