
[英]Error extending entity with a observableArray in Breeze via constructor
[英]breeze error trying delete a entity
我是轻而易举的新手,并且尝试使用以下代码删除实体:
export var deleteRow= function (selectedRow) {
isDeleting(true);
selectedRow.entityAspect.setDeleted();
(<any>datacontext).saveChanges()
.done(
function () {
router.replaceLocation(listUrl);
})
.fail(saveFailed);
//}
isDeleting(false);
};
并且数据上下文是:
export var saveChanges = function () {
return manager.saveChanges()
.then(saveSucceeded)
.fail(saveFailed);
function saveSucceeded(saveResult) {
log('Saved data successfully', saveResult, true);
}
function saveFailed(error) {
var msg = 'Save failed: ' + getErrorMessages(error);
logError(msg, error);
error.message = msg;
throw error;
}
};
错误发生在以下行:
selectedRow.entityAspect.setDeleted();
日志(Chrome控制台)告诉您有关以下内容的信息:
“未捕获的错误:无法解析绑定。消息:TypeError:无法调用null的方法'dictionary';绑定值:text:row.assessmentType()。dictionary()。name“
对象行,它是我的标记中用来标识集合中行的别名:
<!-- ko foreach: { data: assessmentRegistrations(), as: 'row' }-->
<tr data-bind="css: { koAssumptionGridViewRow: true }, style: { color: 'inherit' }">
<td><small data-bind="text: row.toShortDate"></small></td>
<td><small data-bind="text: row.fishgroup().fishgroupName"></small></td>
<td><small data-bind="text: row.assessmentType().dictionary().name"></small></td>
<td><small data-bind="text: row.site().name"></small></td>
<td><small data-bind="text: row.site().name"></small></td>
<td></td>
<td><small data-bind="text: row.assessmentFollowUpStatus().dictionary().name"></small></td>
</tr>
任何帮助都感激不尽:)
不知道是什么问题,但我会首先尝试将其隔离。 即在不涉及任何敲除绑定的情况下,尝试调用setDeleted() 。 我敢打赌,这将会成功。 如果是这样,则您知道该问题是一个淘汰赛绑定问题。
另一种可能性:问题可能是在saveChanges()调用之后实际发生的吗? 鉴于您的症状,这样做之所以有意义,是因为在调用saveChanges()并绑定到该实体后,“已删除”实体变得“分离”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.