2014-12-28 99 views
4

作爲Sails.js文檔中描述:重用具有不同內容的部分,在同一視圖

你的當地人的

所有將被自動發送到局部。

所以我想知道如何在相同的視圖中使用相同的部分多次,但使用不同的內容。

比方說,我有一個前3名用戶的列表,以及最新的3名用戶列表。 這些列表具有相同的HTML結構,並且相同的CSS樣式但其內容不同。

我怎樣才能使用相同的部分(例如user/list.ejs)來顯示這兩個列表? 有誰知道是否有辦法將特定數據傳遞給部分而不是視圖本地人?

在此先感謝。

丹尼斯

+0

您將需要[創建模板](http://www.embeddedjs.com/getting_started.html#create_template)向其傳遞數據。 [圖像](http://www.embeddedjs.com/images/diagram.png) – anpsmn

回答

2

帆使用ejs-locals庫來處理諧音,它允許發送選項到部分作爲第二個參數。因此,在您的模板,你可以這樣做:

<h1>Top users: </h1> 
<p> 
    <%= partial('user/list.ejs', {users: topUsers}) %> 
</p> 

<h1>New users: </h1> 
<p> 
    <%= partial('user/list.ejs', {users: newUsers}) %> 
</p> 

裏面的user/list.ejs部分爲users提供不同的值,前提是您提供topUsersnewUsers當地人當你顯示就包括部分,即在你的控制器視圖action:

res.view("myView", {topUsers: [array of users], newUsers: [array of users]}); 
相關問題