gpt4 book ai didi

javascript - 尝试删除实体时出现 Breeze 错误

转载 作者:行者123 更新时间:2023-11-28 02:07:11 24 4
gpt4 key购买 nike

我是 Breeze 新手,我正在尝试使用以下代码删除实体:

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 控制台)讲述了以下内容:

“ Uncaught Error :无法解析绑定(bind)。消息:类型错误:无法调用 null 的方法“字典”;绑定(bind)值: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>

感谢任何帮助:)

最佳答案

不确定问题是什么,但我会先尝试隔离它。即,在不涉及任何 knockout 绑定(bind)的情况下,尝试调用 setDeleted()。我打赌这会成功。如果是这样,那么您就知道该问题是 knockout 约束问题。

另一种可能性:问题是否有可能实际上是在 saveChanges() 调用之后发生的?考虑到您的症状,这之所以有意义是因为“已删除”实体在调用 saveChanges() 后变得“分离”,并且绑定(bind)到它很可能会失败。

关于javascript - 尝试删除实体时出现 Breeze 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17602220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com