即使占位符中没有要填充的数据,也要呈现模板
Render template even when there's no data to be filled in placeholders
我使用EJS模板来呈现表单。这个问题不是专门针对EJS的,而是针对JavaScript的任何模板库的。
比如我的模板是<form>
<input type="text" name="foo" value="<%= foo %>" />
<input type="text" name="baz" value="<%= baz %>" />
</form>
一个JSON对象像这样传递给.render
方法
tpl.render({foo: "bar", "baz": "qux"})
它填充相应输入框中的值并返回呈现的标记,我们可以将这些标记附加到容器中。
现在我要做的是,它应该被渲染,即使我传递一个空白对象{}
。我的意思是,它应该为输入框返回空白值(添加内容的空表单)。
我知道我们可以使用内联的if
,如<%= (baz != undefined ? bax : "") %>
,或者我们可以做一个虚拟/空白的JSON对象,如{"foo": "", "baz": ""}
但是以上两种方法对我来说都不太好。有更好的方法吗?记住input
, select
和所有其他标签的巨大表单
是的,三元方法看起来很干净- <%= foo ? foo : '' %>
。这可能是最好的处理默认值为您缺少的属性,如下划线与它的_.defaults()
。
相关文章:
- 用我的json数据填充JQuery DataTable
- 单击鼠标,用MySQL数据填充html表单输入字段
- 在输入字段中选择一个值,然后用相应的数据填充另一个字段
- 用 MySql 数据填充 JavaScript 数组
- 有没有一种方法可以用包含ENTER键换行符的SQL数据填充文本区域表单
- 将数据填充到TextArea和jquery对话框中
- 如何从LiveCycle中的下拉列表将一个子窗体中的数据填充到另一个子窗体的文本字段
- 我想用所选项目的数据填充我的编辑表单
- 使用jQuery用data-*数据填充表单文本输入
- 使用ng repeat用数组中的数据填充表行
- 无法将我的 JavaScript 数据填充为 HTML
- 如何使用随机数据填充 XML 文件
- 在 JavaScript 中使用 MySQL 数据库中的数据填充下拉列表
- 我正在用来自选择的数据填充文本框,它可以工作,但是
- 如何在 jQuery 中用 JSON 数据填充下拉列表作为 ajax 响应
- 用 JSON 数据填充 HTML
- 使用来自另一个表单的数据填充表单
- 如何从 html 表数据填充 javascript 模型
- 如何访问对象的键值?希望从对象数据填充表
- 骨干 js 并使用 fetch() 用数据填充模型