laytpl实现左侧菜单动态无限极渲染

layui中的tpljs实现的左侧菜单动态无限极渲染

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<link rel="stylesheet" href="layui/css/layui.css">
	</head>
	<style type="text/css">
		.box{border:1px solid #ccc;margin:2px;padding:5px;margin-left:20px;}
	  ul li{
	    list-style-type: disc;
	  }
	  ul li li li{
	    padding-left: 5px;
	  }
	  </style>
	<body>
		<div class="layui-container">
			<div id="view"></div>
		</div>
		<script id="demo" type="text/html">
			{{# var fn = function(a){ var result=""; result=layui.laytpl(childtpl.innerHTML).render(a); return result; }; }}
			<h3>{{ d.title }}</h3>
			<div class="box">
				<ul class="layui-nav layui-nav-tree" lay-filter="test">
					{{# layui.each(d.list, function(index, item){ }}
					<li class="layui-nav-item">
						<a href="javascript:;">{{item.modname}}</a>
						{{# if(item.child!=null){ }} {{ fn(item.child) }} {{# } }}
					</li>
					{{# }); }} {{# if(d.list.length === 0){ }} 无数据 {{# } }}
			</div>
			</ul>
		</script>
		<script id="childtpl" type="text/html">
			{{# var fn = function(a){ var result=""; result=layui.laytpl(childtpl.innerHTML).render(a); return result; }; }}
			<ul class="layui-nav-child">
				{{# layui.each(d, function(index, item){ }}
				<li class="layui-nav-item">
					<a href="javascript:;">{{item.modname}}</a>
					{{# if(item.child!=null){ }} {{ fn(item.child) }} {{# } }}
				</li>
				{{# }); }}
			</ul>
		</script>

		<script type="text/javascript" src="layui/layui.js"></script>
		<script type="text/javascript">
			layui.use(["laytpl", "element"], function() {
				var laytpl = layui.laytpl,
					$ = layui.jquery,
					element = layui.element;

				var data = { //数据
					"title": "Layui常用模块",
					"list": [
						{ "modname": "弹层", "alias": "layer", "site": "layer.layui.com" },
						{
							"modname": "表单",
							"alias": "form",
							"site": "layui.com",
							child: [{
								"modname": "子表单",
								"alias": "c-form",
								child: [
									{ "modname": "孙-竖排表单", "alias": "s-V-form" },
									{
										"modname": "孙-横排表单",
										"alias": "s-H-form",
										child: [
											{ "modname": "孙-孙-竖排表单","alias": "s-V-form" }
										]
									}
								]
							}]
						}, { "modname": "弹层", "alias": "layer", "site": "layer.layui.com" }, {
							"modname": "表单",
							"alias": "form",
							"site": "layui.com",
							child: [{
								"modname": "子表单",
								"alias": "c-form",
								child: [
									{ "modname": "孙-竖排表单", "alias": "s-V-form" }, { "modname": "孙-横排表单", "alias": "s-H-form" }
								]
							}]
						}
					]
				}
				var getTpl = demo.innerHTML,
					view = document.getElementById('view');
				laytpl(getTpl).render(data, function(html) {
					view.innerHTML = html;
					element.render();
				});

			});
		</script>

	</body>

</html>

本文原作者:https://fly.layui.com/jie/45471/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值