<script type="text/html" id="phoneTemplate"> {{# layui.each(d,function(index,item){ }} <li> <h3>{{= item.name}}</h3> <p>CUP全面屏</p> <p>{{= item.price}}起</p> </a> </li> {{# }); }} </script> <script> layui.use(['laytpl'],function() { var laytpl = layui.laytpl; var $ = layui.jQuery; //查手机数据 $.get("/product/telephone",function(phones){ laytpl($("phoneTemplate").html()).render(phones,function(aaa) { $("#phoneUL").html(aaa); }); }); }); </script>
时间: 2024-04-21 21:26:28 浏览: 47
这段代码看起来是一个使用 Layui 框架的模板引擎,用于渲染一个手机列表。其中,使用了 laytpl 模块进行模板渲染,使用了 jQuery 的 $.get 方法请求手机数据,然后将数据渲染到页面上。具体来说,模板中使用了 layui.each 方法对数据进行循环遍历,将每一个手机的名称、价格等信息渲染到 li 元素中,然后通过 laytpl 的 render 方法将渲染好的 HTML 插入到页面中 id 为 phoneUL 的元素中。
相关问题
<div class="layui-tab" lay-filter="test-handle" lay-allowclose="true" id="content"> <div class="layui-btn addContent" lay-active="addContent">添加创意包</div> <ul class="layui-tab-title" style="width: 85%"> <li class="layui-this" lay-id="1">创意包1</li> <li lay-id="2">创意包2</li> </ul> <div class="layui-tab-content"> <div class="layui-tab-item layui-show"> <div class="layui-tab" lay-filter="test-handle" lay-allowclose="true" id="content"> <ul class="layui-tab-title" style="width: 85%"> <li class="layui-this" lay-id="1">标题1</li> <li lay-id="2">标题2</li> </ul> <div class="layui-tab-content"> <div class="layui-tab-item layui-show">内容-1</div> <div class="layui-tab-item">内容-2</div> </div> </div> </div> <div class="layui-tab-item">主体-2</div> </div> </div>优化一下代码
你可以将重复的代码抽取出来作为一个公共的HTML模板,然后在需要使用的地方引用即可,可以使代码更加简洁。
例如,你可以将创意包的tab页抽出作为公共的模板:
```html
<!-- 创意包模板 -->
<script type="text/html" id="tpl-creative">
<div class="layui-tab" lay-filter="test-handle" lay-allowclose="true" id="{{d.id}}">
<ul class="layui-tab-title" style="width: 85%">
{{# layui.each(d.items, function(index, item){ }}
<li {{ index === 0 ? 'class="layui-this"' : '' }} lay-id="{{ item.id }}">{{ item.title }}</li>
{{# }); }}
</ul>
<div class="layui-tab-content">
{{# layui.each(d.items, function(index, item){ }}
<div class="layui-tab-item {{ index === 0 ? 'layui-show' : '' }}">{{ item.content }}</div>
{{# }); }}
</div>
</div>
</script>
<!-- 页面内容 -->
<div class="layui-tab" lay-filter="test-handle" lay-allowclose="true" id="content">
<div class="layui-btn addContent" lay-active="addContent">添加创意包</div>
<ul class="layui-tab-title" style="width: 85%">
<li class="layui-this" lay-id="1">创意包1</li>
<li lay-id="2">创意包2</li>
</ul>
<div class="layui-tab-content">
<!-- 引用创意包模板 -->
{{# layui.laytpl($('#tpl-creative').html()).render({ id: 'creative1', items: [{ id: '1', title: '标题1', content: '内容-1' }, { id: '2', title: '标题2', content: '内容-2' }] }) }}
</div>
</div>
```
在上面的代码中,我们将创意包的tab页抽取出来作为了一个公共的模板,可以通过laytpl模块来渲染模板并将结果插入到页面中。这样就可以避免重复的代码,使代码更加简洁。
阅读全文