Javascript SAPUI5:无法从数组(从列表中获取)访问项(或元素)
这段代码来自控制器。在这里,我试图从列表(XML视图)中获取所有项目。Javascript SAPUI5:无法从数组(从列表中获取)访问项(或元素),javascript,sapui5,Javascript,Sapui5,这段代码来自控制器。在这里,我试图从列表(XML视图)中获取所有项目。 onAfterRendering:函数(oEvent){ var items=this.getView().byId(“列表”).getItems(“列表项”); console.dir(项目); } 此代码来自XMLview,其中使用Odata填充列表 <List id="list" items="{ path: '/MYPROJECTSSet', sorter: { path: 'MpId
onAfterRendering:函数(oEvent){
var items=this.getView().byId(“列表”).getItems(“列表项”);
console.dir(项目);
}
此代码来自XMLview,其中使用Odata填充列表
<List id="list"
items="{ path: '/MYPROJECTSSet', sorter: { path: 'MpId', descending: false },groupHeaderFactory: '.createGroupHeader', parameters: { operationMode: 'Client' } }"
busyIndicatorDelay="{masterView>/delay}" noDataText="{masterView>/noDataText}"
mode="{= ${device>/system/phone} ? 'None' : 'SingleSelectMaster'}" growing="true" growingScrollToLoad="true"
updateFinished="onUpdateFinished" selectionChange="onSelectionChange" >
<infoToolbar>
<Toolbar active="true" id="filterBar" visible="{masterView>/isFilterBarVisible}" press="onOpenViewSettings">
<Title id="filterBarLabel" text="{masterView>/filterBarLabel}"/>
</Toolbar>
</infoToolbar>
<items>
<ObjectListItem id="listitems" type="{= ${device>/system/phone} ? 'Active' : 'Inactive'}" press="onSelectionChange" title="{MpId}" intro="{Description}">
<firstStatus>
<ObjectStatus id="icon" icon="{ parts: [ {path: 'ActualData'}, {path: 'PlannedData'} ], formatter : '.formatter.getIcon'}"/>
</firstStatus>
</ObjectListItem>
</items>
</List>
下面是我在控制台中得到的结果数组。我无法使用索引访问此数组的元素
是否有其他方法可以从列表中获取所有项目?
或
访问数组元素的其他方法
在您的情况下,您可以通过以下方式获取数据:
console.log(items[0].mProperties);
或:
getBindingContext方法需要一个模型名。否则它将使用默认模型。如果使用名为的OData模型,则应将其传递给getBindingContext方法调用
是一个简单的演示,请按按钮。hey@Jaro,感谢您在我尝试您的第一个解决方案console.log(items[0].mProperties)时的回复;它给了我以下错误Uncaught(in promise)TypeError:无法读取未定义的属性'mproperty',第二个解决方案也不起作用。请在rendering:function(oEvent){之后将其更改为onInit:function(oEvent){并将我的行放在该函数上。
var aData = (oList.getItems()).map(function(oItem){
console.log(oItem.getBindingContext().getObject());
});