从handleValueHelp调用片段

时间:2014-11-05 12:02:48

标签: sapui5

我有一个输入字段和值帮助功能

handleValueHelp : function (oControlEvent) {
    var lookupSource = oControlEvent.getSource().getBindingContext("lookupSource");

    if (!this._oDialog) {
      this._oDialog = sap.ui.xmlfragment("sap.ui.demo.poa.view.fragment.FrgLookup", this); 
    }

    this._oDialog.open();
}

当我定义片段时,我想将控制器传递给片段,但this中的handleValueHelp不同于控制器从例如onInit函数中检索。为什么?

1 个答案:

答案 0 :(得分:0)

JSViews中的事件处理程序默认情况下将Control作为上下文传递(this)。但是您可以轻松地改变这种行为:

createContent: function(oController) {
  ...
  new sap.m.Input({
    valueHelpRequest : [ oController.handleValueHelp, oController ]
  })
  ...
}

无论你传递什么作为数组中的第二个值,都将作为上下文传递给处理程序,你可以用它来引用它。