SAPUI5:当元素显示来自Odata的数据时,如何触发事件?

SAPUI5:当元素显示来自Odata的数据时,如何触发事件?,sapui5,Sapui5,我想在元素完全显示来自odata服务的绑定数据时触发一个事件 哪一个项目适合这样做 请注意,加载odata时可能需要几秒钟才能显示元素内部的数据 var oObjectListItem = new sap.m.ObjectListItem(); var aItems = [ "title", "number", "numberUnit",

我想在元素完全显示来自odata服务的绑定数据时触发一个事件

哪一个项目适合这样做

请注意,加载odata时可能需要几秒钟才能显示元素内部的数据

var oObjectListItem = new sap.m.ObjectListItem();
                var aItems = [
                    "title",
                    "number",
                    "numberUnit",
                    "intro",
                    "icon",
                    "activeIcon",
                    "iconDensityAware",
                    "markFavorite",
                    "markFlagged",
                    "showMarkers",
                    "numberState",
                    "titleTextDirection",
                    "introTextDirection",
                    "numberTextDirection",
                    "markLocked",
                    "type",
                    "visible",
                    "unread",
                    "selected",
                    "counter"
                ];
                for (var k = 0; k < aItems.length; k++) {
                    if (typeof this._aTabs[i].oTabHeaderBindingInfos[aItems[k]] === "object" && this._aTabs[i].oTabHeaderBindingInfos[aItems[k]]) {
                        oObjectListItem.bindProperty(aItems[k], this._aTabs[i].oTabHeaderBindingInfos[aItems[k]]);
                    } else if (this._aTabs[i].oTabHeaderBindingInfos[aItems[k]]) {
                        oObjectListItem.setProperty(aItems[k], this._aTabs[i].oTabHeaderBindingInfos[aItems[k]]);
                    }
                }
正如在聊天中讨论的: 我们将编写自己的onAfterRendering方法:

oControl.addEventDelegate({ 
   "onAfterRendering": function(){ 
     console.log('called'); 
     // Custom Logic
  } 
})
oControl是您的ObjectListItem

注意:它将调用两次。第一次没有数据,第二次绑定完成


让我知道这是否有效

您可以尝试使用attachDataReceived绑定事件吗?我想使用ObjectListItem,但它没有该事件。attachDataReceived事件将应用于绑定。这意味着,如果您使用的是列表,则需要执行以下操作:lis.getBinding'items'。AttachDataReceivedFunction{//do something};如果你能粘贴你的代码,这样我们就能理解你想要达到的目的,这将非常有用。@RahulBhardwaj我在代码中添加了一些部分。我不使用列表。它是单个元素,其编号和标题是有界的。实际上,if的第一部分是运行的。