如何从控件获取父视图/片段

csc*_*uff 4 controls viewcontroller sapui5 sap-fiori

如何检索View/ Fragmenta sap.ui.core.Control属于?

BR克里斯

sch*_*del 6

您可以走近父母,直到找到视图.但是,您不应该依赖标识符.使用元数据来标识视图:

  buttonPress: function(oEvent){
    var b = oEvent.getSource();
    while (b && b.getParent) {
      b = b.getParent();
      if (b instanceof sap.ui.core.mvc.View){
        console.log(b.getMetadata()); //you have found the view
        break;
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

关于JSBin的示例.

片段未添加到控制树中.所以你找不到它们.但是,您可以找到已添加到的视图.

  • 长话短说:没有优雅的方式......无论如何 (3认同)