我有一个输入字段和值帮助功能
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
函数中检索。为什么?
答案 0 :(得分:0)
JSViews中的事件处理程序默认情况下将Control作为上下文传递(this)。但是您可以轻松地改变这种行为:
createContent: function(oController) {
...
new sap.m.Input({
valueHelpRequest : [ oController.handleValueHelp, oController ]
})
...
}
无论你传递什么作为数组中的第二个值,都将作为上下文传递给处理程序,你可以用它来引用它。