Pug-Jade 模板访问模块数据
2016-11-28
504
编辑:我正在尝试创建一个 pug-jade 模板,在其中创建一个表,表的第一行是静态的(即一些标题),对于每个后续行,我想添加一名员工。我有 3 个文件 express.js(处理对我的应用程序的请求)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
我希望现在更清楚了。
2个回答
您的
employees
变量
未定义
。
这意味着您的
require('employees')
导入存在问题。由于无法查看
employees.js
文件,我只能猜测您的
exports
设置不正确。
Soviut
2016-11-28
处理完上述建议后...
我遇到过类似的问题,对我有用的方法是这样的:
tbody
for val in employees.employeeList
td #{val.id}
td #{val.name}
注意:我使用的是 pug 3.10.6
daansteraan
2017-04-24