如何使用Node JS和Sails JS切换部分内容?

时间:2014-07-26 15:12:10

标签: node.js sails.js

我的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>

请告知。

1 个答案:

答案 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按需加载内容。帆只能帮助后端!