当扩展的字符串变量具有 <%= %> 时,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%>
<%}%>