【发布时间】:2014-04-16 00:34:30
【问题描述】:
敲除 (KO) 绑定会立即更新视图模型。这对于编辑对话框来说不是很好;我想在确定和取消按钮上设置提交和回滚行为。
我可以想出几种方法来解决这个问题,但我不太可能是第一个面对这个特殊问题的人,那么传统的解决方案是什么?
你不能这样做
$.extend(buffer, this);
app.showDialog(buffer).then(function () {
//if ok clicked then $.extend(this, buffer);
});
因为复制的可观察字段指的是相同的可观察实例,所以它是浅拷贝。您必须逐个成员转换为文字。
【问题讨论】:
-
你能为此做个小样吗?
-
我想我可以做点什么;这个问题并不特定于我遇到它的上下文,所以我想我可能可以破解其中一个 KO 样本。
-
@nemesv - 这与我想出的(工作)解决方案非常接近,如果你提供它作为答案,你就会得到分数。
标签: knockout.js durandal