本文介绍在layuiAdmin后台框架中,如何通过Ajax请求后端接口获取商品数据,并利用laytpl模板引擎在页面中循环遍历渲染商品图片列表。同时详细说明了a标签中lay-href属性的作用,以及如何通过修改href属性实现页面刷新跳转,确保前端交互与后端数据的高效配合。
构建主页面与数据容器
首先构建主页面结构,定义用于展示商品列表的容器区域。在HTML中引入layuiAdmin的相关样式与脚本,并预留出用于渲染动态内容的div元素,例如id为view的容器,以便后续通过JavaScript动态插入数据。
<div class="layui-fluid layadmin-cmdlist-fluid">
<script id="demo2" type="text/html">
<div class="layui-col-md2 layui-col-sm4">
<div class="cmdlist-container">
<a lay-href="/books/add" rel="external nofollow" >
<img src="{{ layui.setter.base }}style/res/template/portrait.png">
</a>
<a href="javascript:;" rel="external nofollow" rel="external nofollow" >
<div class="cmdlist-text">
<p class="info">新增</p>
</div>
</a>
</div>
</div>
{{# layui.each(d.list, function(index, item){ }}
<div class="layui-col-md2 layui-col-sm4">
<div class="cmdlist-container">
{{# if(item.cover_img == ""){ }}
<a lay-href="/books/edit/bookId_edit={{ item.book_serial_num }}" rel="external nofollow" rel="external nofollow" >
<img src="{{ layui.setter.base }}style/book/default.jpg">
</a>
{{# } else { }}
<a lay-href="/books/edit/bookId_edit={{ item.book_serial_num }}" rel="external nofollow" rel="external nofollow" >
<img src="{{ item.cover_img }}">
</a>
{{# } }}
<a href="javascript:;" rel="external nofollow" rel="external nofollow" >
<div class="cmdlist-text">
<p class="info">{{item.main_title}}</p>
<div class="price">
<b>{{item.strSignStatus}}</b>
</div>
</div>
</a>
</div>
</div>
{{# }); }}
{{# if(d.list.length === 0){ }}
无数据
{{# } }}
</script>
<div id="view" class="layui-row layui-col-space30"></div>
</div>
Ajax请求与模板渲染实现
接下来,利用Ajax技术向服务器发送请求以获取动态数据。通过admin.req方法指定目标URL(如/books/booklist),在success回调函数中接收返回的商品数据。获取数据后,使用laytpl模板引擎解析预定义的HTML模板,将数据与模板结合生成最终的HTML字符串,并赋值给页面容器的innerHTML,从而完成数据的动态填充与展示。
var data = {}
admin.req({
url: "/books/booklist"
,success: function(res){
data = res.data;
var getTpl = demo2.innerHTML
,view = document.getElementById('view');
laytpl(getTpl).render(data, function(html){
view.innerHTML = html;
});
}
})
配置页面跳转与刷新机制
需要注意的是,主页面中a标签的lay-href属性用于实现无刷新页面的局部跳转。如果业务需求要求点击链接后必须刷新页面并跳转到新地址,则需要对链接的href属性进行修改,使其不再依赖lay-href的异步加载机制。
<a href="./#/books/add" rel="external nofollow" >
具体修改方式是在原有的链接路径前添加./#前缀。例如,将原本的lay-href属性值调整为类似./#/books/add的形式,这样浏览器会将其视为普通的URL跳转,从而触发完整的页面刷新请求。
以上即为在layuiAdmin中实现商品图片列表循环遍历及动态加载的完整方法。通过合理运用Ajax与模板引擎,可以高效地实现前后端数据交互,同时根据实际需求灵活配置页面跳转行为,希望这些内容能为开发者提供有价值的参考。