传递布局内部分要使用的对象

时间:2014-07-30 16:03:19

标签: asp.net-mvc sails.js ejs

我有一个带有侧边栏和主要内容的页面布局。根据用户个人资料,两者都是动态的。

<html>
  <body>

    <%- partial('partials/sidebar')%>

    <html with <% ejs code %> for body>

  </body>
</html>

Sails视图应该是:

res.view( {mydata} );

如何将数据传递给partials以便可以动态呈现而不是静态?

示例:

控制器:

res.view( {mainContent:{mainContentJson}, sidebar:{sidebarJson} );

layout.ejs:

<html>
  <body>

    <%- partial('partials/sidebar', sidebar)%>

    <html with ejs code for body>

  </body>
</html>

1 个答案:

答案 0 :(得分:0)

是。 Partials接受要传递的参数,并在插入调用布局之前呈现它们。

控制器:

res.view( {
         layout:<yourCustomLayoutIfNeeded>, 
         mainContent: <mainContentObject>, 
         partialContent: <partialContentObject>
        });

yourCustomLayoutIfNeeded:

<%- partial(<pathToPartial>, partialContent) %>
<mainContent>