是否有一种方法可以只检查OData-Model的特定实体是否存在未完成的更改?待处理的更改没有任何输入参数,我也不确定是否DeferredGroups将为此工作。
我唯一的想法是使用ODataModel.getPendingChanges()
并对结果进行字符串比较。但也许有一个更优雅的选择
最后,我找到了一种自定义pendingChanges-Method的方法。
_hasPendingChanges: function() {
var oPendingChanges = this._oODataModel.getPendingChanges(),
sValue = "MyEntitySetToIgnore",
bReturn;
var aPendingChanges = $.map(oPendingChanges, function(value, index) {
return [index];
});
for (var i = 0; i < aPendingChanges.length; i++) {
if (aPendingChanges.toString().startsWith(sValue)) {
bReturn = this.DoSomeSpecialThingsHere();
} else {
return true;
}
if (bReturn) {
return true;
}
}
return false;
},
您也可以调整$。Map函数通过返回值而不是索引来返回特定实体集的挂起更改。因此,您可以扩展此函数并使用它来检查特定实体集的特定属性。