我必须编写一个单页应用程序,它将在整个应用程序中使用相同的 3 个表单,只是每个表单的操作会发生变化。标签/输入将是相同的,等等...
我想让我的应用程序快速且响应迅速,因此,我想知道每次必须加载时通过 Javascript 动态生成 FORM 是否是一个好主意,而不是从服务器将其作为 HTML 下载。
那么,通过 Javascript 生成 DOM 对象有什么好的做法吗?有什么方法可以在第一次加载应用程序时下载每个 FORM 的 HTML 代码吗?或者我每次都必须使用 JS 通过 DOM 对象来构建它们?
这里有什么好的做法吗?我正在使用node.js、knockout.js、jquery。
谢谢!
最佳答案
您正在使用 knockout ,因此只需将表单作为 knockout 模板即可:
<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 有great tutorials和 great documentation所以也检查一下。
关于forms - 加载 HTML 对象客户端(表单),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13500215/