问题似乎与EJS有关。我可能会尝试做一些EJS没有设计的东西。
我正在使用一个使用具有可变数量字段的表单的Web应用程序。如果我编辑的Mongo文档只有一个字段,我不想显示任何其他字段的输入框。
我能够动态控制编辑文档时显示的字段数,但我无法动态显示字段的当前值。
如果我使用这样的值标签:value=<%= document.field1 %>
,它可以正常工作。但是,必须为每个字段手动重复此操作,包括不会出现的字段。
我想做的是这样的事:value=<%= 'document.field' + (i+1) %>
。理想情况下,这将产生与上述代码相同的呈现HTML。但是,我看到的是'document.field1'
而不是我想从数据库中检索的数据。
答案 0 :(得分:0)
EJS只是JavaScript代码的一个薄包装。您可以使用JavaScript编写的任何内容都可以在EJS中编写,它将被包含在已编译的模板中而无需修改。
因此,要引用具有动态名称的字段,您就像使用任何其他JavaScript代码一样使用[]
。根据您提供的代码,它将是这样的:
value="<%= document['field' + (i + 1)] %>"