编辑:我正在尝试创建一个prag-jade模板,其中创建了一个表,该表的第一行是静态的(即一些标题),用于我想要添加员工的每个后续行。我有3个文件express.js(handels请求我的应用程序)employee.js和index.pug。
这是我在employee.js中导出的内容
function Employee (id,name,surname,lvl,salary){
this.id = id;
this.name = name;}
exports.employees = {
employeeList: [],
//the empList is a list of employee defined above, class contains some other methods
}
在express.js中我打电话:
var employees = require('./employees')
在请求处理程序中我调用:
res.render('index',{employees: employees})
最后在index.pug中尝试:
tbody
for val in employees.employeeList
td=val.id
td=val.name
这就是错误:
TypeError: /Users/filippobosco/Desktop/GitHubRepos/IngSoftware2/Employees/ExpressTutorial/views/index.pug:39
37| th Salary
38| tbody
> 39| for val in employees.employeeList
40| td=val.id
41| td=val.name
42|
Cannot read property 'length' of undefined
我希望现在更清楚了。
答案 0 :(得分:0)
您的employees
变量为undefined
。
这意味着您的require('employees')
导入存在问题。如果无法看到employees.js
文件,我必须猜测您exports
未正确设置。
答案 1 :(得分:0)
一旦你处理了上述建议......
我来自这里有类似的问题,对我有用的东西会是这样的:
tbody
for val in employees.employeeList
td #{val.id}
td #{val.name}
注意:我正在使用哈巴狗3.10.6