繁体   English   中英

openui5 getBinding()返回未定义

[英]openui5 getBinding() returning undefined

我正在尝试监听一个事件,该事件指示自定义控件的聚合绑定已更改。

我的目标是找到与聚合关联的绑定对象,并为其添加处理程序。

我了解绑定发生在onBeforeRendering中,因此我添加了一个onAfterRendering函数,该函数成功调用

但是, this.getBinding(“ _ myAggregation”)仍未定义,因此我无法附加任何事件处理程序。 代码概述如下:

 sap.ui.core.Control.extend("myControl", { metadata : { properties : { ... }, aggregations : { _myAggregation : { type : "myInnerControl", multiple : false } }, events : { ... } }, init : function() { var self = this; self.setAggregation("_myAggregation", new myInnerControl.bindElement("queryModel>")); }, onAfterRendering : function(oEvent) { if (sap.ui.core.Control.prototype.onAfterRendering) { sap.ui.core.Control.prototype.onAfterRendering.apply(this, arguments); } this.getBinding("_myAggregation").attachChange(function() { alert("model change"); }); }, renderer : function(oRm, oControl) { ... } }); 

我正在使用openui5版本1.28.15,否则该应用程序将正常工作:正确呈现JSONModel中的信息,处理编辑等。

希望这对您有帮助。

http://jsbin.com/qagani/edit?html,js,输出

绑定与受管对象更相关,而不是控件本身。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM