レイアウト内の部分的な部分によって使用されるオブジェクトを渡す
-
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>
. 所属していません StackOverflow