使用Express和EJS运行node.js进行渲染是我的代码:
<%
var choices = [ {value: '', text: ' ' },
{value: 'HELD', text: 'HELD'},
{value: 'CLEAR', text: 'CLEAR'} ];
var selected = 0;
for (var i=0; i<choices.length; i++){
if (manifest.z_customs_status.trim() == choices[i].value){
selected = i;
break;
}
}
select_tag('z_customs_status', selected, choices)
%>
当代码运行时,我得到了
select_tag is not defined
作为EJS中的错误。 select_tag在此处记录
https://code.google.com/p/embeddedjavascript/wiki/ViewHelpers
EJS对于使用Express进行节点开发仍然可行吗?
答案 0 :(得分:1)
看起来这些甚至没有在source中定义,这让我想知道为什么它在他们的维基页面上。我确实从another answer发现有一个名为express-helpers
的包,配置后允许访问所有视图助手。
npm install express-helpers
在你的app.js中,配置它:
require('express-helpers')(app);
最后,您的观点会略有不同:
<%
var choices = [
{value: 1,text: 'First Choice'},
{value: 2,text: 'Second Choice'},
{value: 3,text: 'Third Choice'}
]
%>
<%- select_tag('mySelectElement', choices, { value: 2 }) %>
The select_tag具有以下参数:
name
choices
html_options
id
name
value (selected value)