如何使分页成为Sailsjs中的一个组件?

时间:2016-03-14 13:09:19

标签: node.js twitter-bootstrap pagination sails.js ejs

我使用sailsjs和ejs模板引擎来构建我的网站。我使用bootstrap。我发现寻呼机几乎出现在我的页面中。所以我想把它作为一个组件,可以毫无痛苦地插入其他ejs页面。由于每个寻呼机都有不同的跳转网址,但使用相同的page查询,因此include关键字可能对ejs没有帮助。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

你可以用这样的模式实现这个目标

template.ejs

 <% if (typeof paginateurl != 'undefined' && typeof count != 'undefined') { %>
<div class="col-md-12 col-xs-12 col-lg-12">
    <ul class="pagination col-md-8 col-xs-12 tcenter">
        <% for (i = 1; i < totalpages; i++) { %>
        <li <% if (i == currentpage)  { %> class="active" <% } %>>
            <a href="<%- paginateurl %><%- i %>"><%- i %></a></li>
        <% } %>    
    </ul> 
</div>
<% }%>

并在您的商家信息模板中添加

<% include pagination %>

答案 1 :(得分:0)

使用next / prev按钮的更复杂示例: 在这个模板中仍然有一些逻辑,我没有时间重构它。它是让它看起来更像这样: 上一页1 ... 3 4 5 6 7 ... 10下一页

<% if(pages > 1) { %>
    <div class="prev">
        <% if(page > 1) { %>
            <a href="<%= link + linkDelimiter + (page-1) %>">Prev</a>
        <% } %>
    </div>

    <div class="numbers">
        <% if(page == 1) { %>
            <span class='current'>1</span>
        <% } else {%>
            <a class='page' href="<%= link + linkDelimiter + 1 %>">1</a>
        <% } %>

        <% if((page - 2) > 1) { %>
            ...
        <% } %>

        <% var start = page - 1 %>
        <% var end = page + 1 %>

        <% var addToStart = end - pages %>

        <% if (addToStart < 0) { %>
            <% addToStart = 0 %>
        <% }; %>

        <% var addToEnd = 3 - end %>
        <% if (addToEnd < 0) { %>
            <% addToEnd = 0 %>
        <% }; %>

        <% for(var i=(start - addToStart); i <= (end + addToEnd); i++) {%>
            <% if(i > 1 && i < pages) { %>
                <% if(page == i) { %>
                    <span class='current'><%= i %></span>
                <% } else { %>
                    <a class='page' href="<%= link + linkDelimiter + i %>"><%= i %></a>
                <% } %>
            <% } %>
        <% }%>

        <% if((page + 2) < pages) { %>
            ...
        <% } %>

        <% if(page == pages) { %>
            <span class='current'><%= pages %></span>
        <% } else { %>
            <a class='page' href="<%= link + linkDelimiter + pages %>"><%= pages %></a>
        <% } %>
    </div>

    <div class="next">
        <% if(page < pages) { %>
            <a href="<%= link + linkDelimiter + (page+1) %>">Next</a>
        <% } %>
    </div>

<% } %>