【发布时间】:2017-02-25 00:05:51
【问题描述】:
很难想出一个描述性的标题,但我想要实现的是:
- 我有一个 Knockout Observable 绑定到表格行。
- 我有一个编辑按钮,它向用户显示了许多输入字段,这些字段也绑定到同一个可观察对象,允许用户编辑表格行中的内联值。
- 我想在用户单击“编辑”按钮时将我的 observable 保存在一个临时变量中,以便在用户想放弃他们的编辑时撤消更改。
如何使用 javascript 以简洁的方式实现这一点?我的对象除了普通属性之外还有方法。
这些是我已经知道的黑客:
- 将我的对象转换为 JSON 格式并返回。 (不适用于方法)
- 不同种类的“克隆”方法。 (没有找到适合我的)
- 从服务器重新加载数据并重新映射 observable。
【问题讨论】:
-
您可以将其作为 JSON 存储在本地存储中。检查here。您可以像这样转换为 JSON 'var json = ko.toJSON(observable);'
-
@Rex 是的,但这不会保留我的对象上的方法,我将不得不重新映射 observable。理想情况下,我正在寻找一个仅限 javascript 的解决方案。
-
如果
data是引用类型,您的 C# 代码也将无法工作......奇怪的是,您以某种方式发现该技巧不适用于 Javascript,然后认为在 C# 中它的工作方式不同? -
@MarioDS 你当然是对的,我不确定是什么让我这么认为。谢谢。