Knockout.js 更改代码中的Breeze/Knockout实体属性
没有看到任何其他问题问这个,也找不到合适的资源,希望有人能给我指出正确的方向-Knockout.js 更改代码中的Breeze/Knockout实体属性,knockout.js,breeze,single-page-application,Knockout.js,Breeze,Single Page Application,没有看到任何其他问题问这个,也找不到合适的资源,希望有人能给我指出正确的方向- var archiveParent = function () { var msg = 'Archive parent "' + parent().name() + '" ?'; var title = 'Confirm Archive'; isArchiving(true); return app.showMessage(msg, title, ['Yes', 'No'])
var archiveParent = function () {
var msg = 'Archive parent "' + parent().name() + '" ?';
var title = 'Confirm Archive';
isArchiving(true);
return app.showMessage(msg, title, ['Yes', 'No'])
.then(confirmArchive);
function confirmArchive(selectedOption) {
if (selectedOption === 'Yes') {
parent().archived() === true;
save().then(success).fail(failed).fin(finish);
function success() {
router.navigateTo('#/parents');
}
function failed(error) {
cancel();
var errorMsg = 'Error: ' + error.message;
logger.logError(
errorMsg, error, system.getModuleId(vm), true);
}
function finish() {
return selectedOption;
}
}
isArchiving(false);
}
};
var save = function () {
isSaving(true);
return datacontext.saveChanges().fin(complete);
function complete() {
isSaving(false);
}
};
我在视图模型中更改了一个Knockout observable的属性,但KO似乎没有在datacontext的EntityManager上触发hasChanges()属性,因此Breeze没有“看到”任何要保存的更改。我确信我忽略了一些愚蠢的事情,有什么想法吗?我认为可能是这行代码:
parent().archived() === true;
你想用这条线做什么
如果要使存档属性的值为true,则必须执行以下操作:
parent().archived(true);
我认为这可能是一行代码:
parent().archived() === true;
你想用这条线做什么
如果要使存档属性的值为true,则必须执行以下操作:
parent().archived(true);
是的,嗯,在我发布此感谢帮助之前尝试了100种不同的方式。是的,嗯,在我发布此感谢帮助之前尝试了100种不同的方式。