レイアウト内の部分的な部分によって使用されるオブジェクトを渡す

StackOverflow https://stackoverflow.com//questions/25041608

  •  21-12-2019
  •  | 
  •  

質問

サイドバーとメインコンテンツを持つページレイアウトがあります。どちらもユーザープロファイルに応じて動的です。

<html>
  <body>

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

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

  </body>
</html>
.

帆ビューは次のとおりです。

res.view( {mydata} );
.

静的には代わりに動的にレンダリングできるようにデータをパーシャルに渡すことができますか?

例:

コントローラ:

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

LAYOUT.EJS:

<html>
  <body>

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

    <html with ejs code for body>

  </body>
</html>
.

役に立ちましたか?

解決

はい。パーシャルズは渡される引数を受け入れ、それらは呼び出し側のレイアウトに挿入される前にレンダリングされます。

コントローラ:

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

yourCustomLayoutifNeeded:

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top