Node.js 在Nodejs中,如何在Ejs渲染中检查参数

Node.js 在Nodejs中,如何在Ejs渲染中检查参数,node.js,ejs,Node.js,Ejs,如果语义URL中有:id,我想显示另一个视图 app.get(['/topic', '/topic/:id'], function(req, res){ id = req.params.id if(id){ res.render('view',{topics:rows, topic:row[0]} }else{ res.render('view', {topics:rows} } } 和view.ejs for(var i = 0; i < top

如果语义URL中有:id,我想显示另一个视图

app.get(['/topic', '/topic/:id'], function(req, res){
  id = req.params.id    
  if(id){
    res.render('view',{topics:rows, topic:row[0]}
  }else{
    res.render('view', {topics:rows}
  }
}
view.ejs

for(var i = 0; i < topics.length; i++){
 <li><%= topics[0].title%></li>
}
<% if(topic) {%>
  <%= topic.description %>
<%} else {%>
  <h1>Welcome</h1>
<% } %>
它确实工作正常


我必须这样使用吗?

视图中。ejs最好按如下方式检查if条件。不仅在ejs中,而且在整个javascript世界中

<% if(typeof topic !== 'undefined') {%>
   <%= topic.description %>
<%} else {%>
   <h1>Welcome</h1>
<% } %>

欢迎
您还可以使用
res.render('views',{topics:rows,topic:''}

参见此处:
<% if(typeof topic !== 'undefined') {%>
   <%= topic.description %>
<%} else {%>
   <h1>Welcome</h1>
<% } %>