当扩展的字符串变量具有 <%= %> 时,EJS 模板扩展
EJS template expansion when a string variable getting expanded has <%= %>
下面是我在扩展 'myTemplate' 变量时遇到问题的 EJS 代码:
<% for(var i = 0 ; i < largeObject.elementArray.length; ++i) {%>
<%-largeObject.elementArray[i].myTemplate%>
<%}%>
'myTemplate' 以下字符串示例:
largeObject.elementArray[i].myTemplate = '<%=largeObject.elementArray[i].variable_1 + largeObject.elementArray[i].variable_7 + largeObject.elementArray[i].variable_12%>'
或
largeObject.elementArray[i].myTemplate = '<%=largeObject.elementArray[i].variable_1 + largeObject.elementArray[i].variable_5 + largeObject.elementArray[i].variable_14%>'
这是因为 'myTemplate' 变量推导相当复杂,因此是一个预先计算的字符串 - 但是我现在如何扩展 'myTemplate' 字符串。
我的 EJS 知识很基础 - 我可能遗漏了一些解释这个问题的正确技术术语。
在计算 'myTemplate' 变量时 - 我必须做 ejs.render(template,data).
largeObject.elementArray[i].myTemplate = ejs.render(complex_template,dataObject)
然后在for循环中按原样分配'myTemplate'。
下面是我在扩展 'myTemplate' 变量时遇到问题的 EJS 代码:
<% for(var i = 0 ; i < largeObject.elementArray.length; ++i) {%>
<%-largeObject.elementArray[i].myTemplate%>
<%}%>
下面是我在扩展 'myTemplate' 变量时遇到问题的 EJS 代码:
<% for(var i = 0 ; i < largeObject.elementArray.length; ++i) {%>
<%-largeObject.elementArray[i].myTemplate%>
<%}%>
'myTemplate' 以下字符串示例:
largeObject.elementArray[i].myTemplate = '<%=largeObject.elementArray[i].variable_1 + largeObject.elementArray[i].variable_7 + largeObject.elementArray[i].variable_12%>'
或
largeObject.elementArray[i].myTemplate = '<%=largeObject.elementArray[i].variable_1 + largeObject.elementArray[i].variable_5 + largeObject.elementArray[i].variable_14%>'
这是因为 'myTemplate' 变量推导相当复杂,因此是一个预先计算的字符串 - 但是我现在如何扩展 'myTemplate' 字符串。
我的 EJS 知识很基础 - 我可能遗漏了一些解释这个问题的正确技术术语。
在计算 'myTemplate' 变量时 - 我必须做 ejs.render(template,data).
largeObject.elementArray[i].myTemplate = ejs.render(complex_template,dataObject)
然后在for循环中按原样分配'myTemplate'。
下面是我在扩展 'myTemplate' 变量时遇到问题的 EJS 代码:
<% for(var i = 0 ; i < largeObject.elementArray.length; ++i) {%>
<%-largeObject.elementArray[i].myTemplate%>
<%}%>