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