2014-12-28 66 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]}); 
相关问题