代码之家  ›  专栏  ›  技术社区  ›  cluster1

了解openui5的controller.getview()。

  •  1
  • cluster1  · 技术社区  · 6 年前

    根据openui5 api引用controller.getview()返回“ …与此控制器关联或未定义的视图。

    资料来源: API: getView()

    我不明白的是: 控制器在哪里与某个视图绑定在一起?

    控制器不保存有关视图的信息。另一方面,视图有一个属性” 控制器名称 “。

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

    2 回复  |  直到 6 年前
        1
  •  3
  •   Erch    6 年前

    Controller有一个名为Controller.Prototype.ConnectToView的方法,在该方法中,根据名称建立连接。

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

    如果在某个函数中调用调试器,只需切换到console,键入“this”,那么console将提供控制器。按箭头可查看控制器内容,您将看到我提到的属性。

    oView property in controller

        2
  •  2
  •   Jaro    6 年前

    控制器通过定义视图中的控制器名称与视图绑定,例如:

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