2016-04-28 130 views
1
var express = require('express'); 

var app = express(); 
app.set('view engine','ejs'); 

var ejs = require('ejs'), 
    people = ['geddy', 'neil', 'alex'], 
    html = ejs.render('<%= people.join(", "); %>', {people: people}); 

app.get('/' , function(req, res){ 
    res.render("basic",{html}); 
}); 

app.listen(3000,function() { 
    console.log(html); 
}); 

「基本」是一個basic.ejs文件:EJS渲染參數含義

<html> 
<title>Hello</title> 
<body> 
<%- html %> 
</body> 
</html> 

這工作,但我想知道究竟是什麼在這一行

html = ejs.render('<%= people.join(", "); %>', {people: people}); 

回事這個聲明{people:people}是做什麼的?

謝謝

回答

1

{people: people}把人們的陣列,在一個對象,以便['geddy', 'neil', 'alex'],相關的關鍵people。因此,當EJS呈現<%= people.join(", "); %>時,它將轉到您傳遞給函數({people: people})的對象,查找名爲people的鍵並使用相關聯的值。

+0

這樣就可以改名爲任何東西!謝謝 – madKC

+0

是的,你可以有'<%= foo.join(「,」); %>'並傳遞對象'{foo:bar}',其中'bar = ['geddy','neil','alex']' –