我必须编写一个单页应用程序,它将在整个应用程序中使用相同的3个表单,只是每个应用程序的操作都会发生变化。标签/输入将是相同的等等......
我想让我的应用程序快速且非常快速响应,因此,我想知道每次必须加载时通过Javascript动态生成FORM可能是个好主意,而不是从服务器下载它作为HTML
那么,有没有通过Javascript生成DOM对象的好习惯?有没有办法在第一次加载应用程序时下载每个FORM的HTML代码?或者我是否必须每次通过DOM对象构建它们?
这边有什么好的做法吗?我正在使用node.js,knockout.js,jquery。
谢谢!
答案 0 :(得分: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有great tutorials和great documentation所以请检查一下。