knockout.js映射为新对象(INSERT)

时间:2012-10-25 08:34:16

标签: javascript knockout.js

我想创建一个插入新车的页面。我正在使用knockout.js并想使用淘汰赛映射。问题是,对于create,为了获得映射的结构,我需要进行ajax调用并返回新的和空的序列化对象。有没有阻止这个ajax电话?
(我也不想自己写下整个模型结构)

1 个答案:

答案 0 :(得分:1)

如果您不想创建对象的JavaScript版本并且不想进行ajax调用来获取它,那么Knockout不可能神奇地知道对象的结构。

你可以做的是使用Fiddler来拦截AJAX调用。然后,Fiddler将向您显示对象的JSON表示。您可以将其粘贴到JavaScript中,以便首次使用模型的“缓存”版本。将此传递给Knockout,Knockout将为您创建对象。

当然,缓存版本将与您的服务器模型不同步(使用普通JavaScript模型也会发生同样的情况)。这只是您必须手动处理的事情。

解决这个问题的方法是使用T4模板在编译时进行一些代码生成。通过反射,您可以使用最新版本的模型生成.js文件。