1

我必须编写一个单页应用程序,它将在整个应用程序中使用相同的 3 个表单,只是每个表单的操作都会改变。标签/输入将是相同的,等等......

我想让我的应用程序快速且响应迅速,因此,我想知道每次必须加载时通过 Javascript 动态生成 FORM 是否是个好主意,而不是从服务器下载它作为 HTML。

那么,通过 Javascript 生成 DOM 对象有什么好的做法吗?有什么方法可以在第一次加载应用程序时下载每个 FORM 的 HTML 代码?还是我每次都必须通过带有 JS 的 DOM 对象来构建它们?

这里有什么好的做法吗?我正在使用 node.js、knockout.js、jquery。

谢谢 !

4

1 回答 1

1

您正在使用淘汰赛,因此只需将表单作为淘汰赛模板:

<script type="text/html" id="MyForm">
   <!-- labels and inputs and other form elements here -->
</script>

然后您可以稍后在您的页面中使用它,例如

<form class="foo" data-bind="attr: { action: myAction }, template: 'MyForm'></form>

myAction将是您传递给的模型的可观察或普通属性ko.applyBindings,例如

ko.applyBindings({ action: '/submit/stuff' }, $('form.foo')[0]);

Knockout 有很棒的教程很棒的文档,所以也检查一下。

于 2012-12-14T05:24:02.563 回答