我想创建一个插入新车的页面。我正在使用knockout.js并想使用淘汰赛映射。问题是,对于create,为了获得映射的结构,我需要进行ajax调用并返回新的和空的序列化对象。有没有阻止这个ajax电话?
(我也不想自己写下整个模型结构)
答案 0 :(得分:1)
如果您不想创建对象的JavaScript版本并且不想进行ajax调用来获取它,那么Knockout不可能神奇地知道对象的结构。
你可以做的是使用Fiddler来拦截AJAX调用。然后,Fiddler将向您显示对象的JSON表示。您可以将其粘贴到JavaScript中,以便首次使用模型的“缓存”版本。将此传递给Knockout,Knockout将为您创建对象。
当然,缓存版本将与您的服务器模型不同步(使用普通JavaScript模型也会发生同样的情况)。这只是您必须手动处理的事情。
解决这个问题的方法是使用T4模板在编译时进行一些代码生成。通过反射,您可以使用最新版本的模型生成.js文件。