2016-11-28 73 views
0

編輯:我想創建一個創建表的第一行,表格的第一行是靜態的(即一些標題),我想要的每個後續行添加一名員工。我有3個文件express.js(handels請求我的應用程序)employee.js和index.pug。
以下是我在employee.jsPug-Jade模板訪問模塊數據

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

你已經改變了你的帕格代碼。它曾經是'td = val.id',現在你已經有'td = employeesList.id'這肯定不會工作。 – Soviut

+0

已修復,那是一個類型錯誤 –

+0

您可以添加一個'employees.js'文件的樣子嗎?你的錯誤說'employees'是'undefined',這意味着它不能正確導入。 – Soviut

回答

0

您的employees變量是undefined

這意味着您的require('employees')導入存在問題。無法看到employees.js文件,我不得不猜測你的exports設置不正確。

+0

對不起,我錯過了寫,現在我編輯了這個問題。 –

+0

@FilippoBosco我已更新我的回答,以反映對您問題所做的更改。 – Soviut

+0

因此,即使現在,在學習我正在訪問的內容之後,它會拋出相同的錯誤!任何線索? –

0

一旦你處理了上述建議...

我來到這裏,由具有類似的問題,什麼工作對我來說就已經是這樣的:

tbody 
for val in employees.employeeList 
    td #{val.id} 
    td #{val.name} 

注:我我正在使用帕格3.10.6