layui使用模板渲染数据

1.定义容器(用于填充渲染后的script)

<div id="view" style="display: none;"></div>

2.定义script模板 

<script type="text/html" id="myModal">
    <div style="padding: 20px;">
        <form id="userForm" class="layui-form" lay-filter="editWin">
            <input type="hidden" id="uid" name="uid" value={{=d.id}}>
            
            <div class="layui-form-item">
                <label class="layui-form-label">角色类别:</label>
                <div class="layui-input-block">
                    <select id="roleTypeSelect" class="layui-select">
                        <option value="-1">请选择角色类别</option>
                        {{# layui.each(d.roleTypeList, function(index, item){     }}
                            {{#  if(d.roleType == item.dicVal ){   }}
                                <option value="{{ item.dicVal}}" selected="selected">{{ item.dicName}}</option>
                            {{# }else{ }}
                                <option value="{{ item.dicVal}}" >{{ item.dicName}}</option>
                            {{# } }}
                        {{# });  }}
                    </select>
                </div>
            </div>
            
        </form>
    </div>
</script>

3.laytpl动态绑定渲染script

// 此处模拟展示data数据
{
    "roleTypeList" : [
        {"dicVal" : "01" , "dicName" : "管理员"},
        {"dicVal" : "02" , "dicName" : "游客"},
        {"dicVal" : "03" , "dicName" : "普通用户"},
    ],
    "id" : 7,
    "roleType" : "03"
}
 

var scriptHtml = document.getElementById("myModal").innerHTML;
var view = document.getElementById("view");
 
// 通过data数据渲染script模板
laytpl(scriptHtml).render(data, function (html) {
    view.innerHTML = html;
});
 
// layui弹框,类似model模态框
layer.open({
    type: 1,
    title: '弹框名称',
    offset: '20px',
    area: ['500px', '330px'],
    closeBtn: false,
        content: $("#view")
    })
 
form.render('select');  // layui中动态设置html的某个类型标签时,需要layui.render('type')刷新

4.layui模板语法laytpl如下

参考地址

Layui - 经典开源模块化前端 UI 组件库

laytpl标签: {{# }}
 
参数格式:
{
    "field" : "值",
    "keyList" : [
        {"field":"值1"},
        {"field":"值2"}
    ]
}
 
// 模板中使用d表示传入参数
 
1.输出字段,不转义html
    {{ d.field }}
 
2.输出字段,转义html
    {{= d.field }}
 
3.js表达式
    {{#     if(d.field=="XXX"){     }}
        // 输出值
    {{#     }         }}
 
4.遍历集合
    {{# layui.each(d.keyList, function(index, item){     }}
        {{# item.field }}
    {{# });  }}
 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Layui是一个基于JavaScript前端开发框架,可以帮助我们快速构建美观、简洁的界面。在Layui中,可以很方便地将动态数据渲染模板中。 首先,我们需要使用Layui模板引擎来处理数据渲染Layui模板引擎基于JavaScript模板引擎规范,可以通过简单的模板语法来完成数据绑定。 在模板中,我们可以通过{{ }}来引用变量,并将动态数据与界面元素进行绑定。例如,可以使用{{ username }}来显示用户名,{{ age }}来显示年龄等等。 接下来,我们需要将动态数据传递给模板引擎进行渲染。可以使用Layui数据表格组件进行数据渲染数据表格组件可以通过设置数据接口的方式,将后端返回的数据动态绑定到模板上。 在数据接口中,我们可以通过ajax请求后端接口,获取到后端返回的动态数据。然后,可以使用数据表格组件提供的方法,将获取到的数据进行渲染。 在渲染过程中,数据表格组件会根据模板引擎的规则,将动态数据模板进行绑定。最后,生成带有动态数据的HTML代码,并将其插入到指定的DOM节点中。 这样,我们就可以在界面上看到动态数据的展示了。当后端数据发生变化时,可以通过重新进行数据请求和渲染,来更新界面上的动态数据。 总的来说,Layui可以通过模板引擎和数据表格组件,将动态数据渲染模板中。这样可以很方便地实现前后端数据的绑定和展示。希望以上内容能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序三两行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值