0

我想创建一个用于插入新车的页面。我正在使用 knockout.js 并想使用敲除映射。问题在于,对于创建,为了获得映射结构,我需要进行 ajax 调用并返回新的空序列化对象。有什么可以防止这个ajax调用吗?
(我也不想一个人写下整个模型结构)

4

1 回答 1

1

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

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

当然,缓存版本会与您的服务器模型不同步(同样的情况也可能发生在纯 JavaScript 模型中)。这只是您必须手动处理的事情。

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

于 2012-10-25T08:39:02.293 回答