我的Node JS / Sails JS应用程序中有一个'My Scores'视图,我使用的是partials,一个用于List View,另一个用于Grid View。当用户从导航栏单击网格或列表视图时,我希望能够将UI与给定的部分交换。
列表视图:
<div class="content-container">
<h1>My Scores</h1>
<%- partial('../partials/list-view')%>
</div>
网格视图:
<div class="content-container">
<h1>My Scores</h1>
<%- partial('../partials/grid-view')%>
</div>
请告知。
答案 0 :(得分:2)
没问题 - 只需使用变量作为部分名称,而不是硬编码:
<%- partial(viewName) %>
然后在 config / routes.js :
中"/listView": {
view: "list.ejs",
locals: {viewName: "../partials/list-view.ejs"}
},
"/gridView": {
view: "list.ejs",
locals: {viewName: "../partials/grid-view.ejs"}
}
假设您只是直接路由到视图。如果您使用自定义控制器操作并res.view()
显示您的内容,则会将viewName
值放在第二个res.view()
参数中,例如{{1} }。
现在,如果您在没有重新加载页面的情况下尝试这样做,那么@tonejac在他的评论中有正确的想法 - 使用Javascript / CSS切换它们,或者使用AJAX按需加载内容。帆只能帮助后端!