函数在ejs模板中不起作用

时间:2018-07-17 14:57:17

标签: node.js ejs

我正在YouTube上做一个教程,现在到了需要遍历数组的地步。但是,当我尝试在ejs模板中运行该功能时,它不起作用。任何人都知道是什么原因造成的。

这是功能

<h1><%= title %></h1>
<%= users.foreach(function(){ %>
<li><%= user.first_name %></li>
<% }); %>

这是我要遍历的javascript文件中的数组。

  var users = [
{
  id: 1,
  first_name: 'John',
  last_name: 'Doe',
  email:  'johndoe@gmail.com',
},
{
  id: 1,
  first_name: 'Bob',
  last_name: 'Smith',
  email:  'bobsmith@gmail.com',
},
{
  id: 1,
  first_name: 'Jill',
  last_name: 'Jackson',
  email:  'jjackson@gmail.com',
},

];

1 个答案:

答案 0 :(得分:1)

Array方法应为forEach(),并且您需要将数组的每个元素作为参数传递给回调函数,因此function(user) {...}

完整代码

<% var users = [{
  id: 1,
  first_name: 'John',
  last_name: 'Doe',
  email:  'johndoe@gmail.com',
},
{
  id: 1,
  first_name: 'Bob',
  last_name: 'Smith',
  email:  'bobsmith@gmail.com',
},
{
  id: 1,
  first_name: 'Jill',
  last_name: 'Jackson',
  email:  'jjackson@gmail.com',
}]; %>

<% users.forEach(function(user) { %>
<li><%= user.first_name %></li>
<% });%>