老师,您好,部门树我明白了,但是我对这个Mustache渲染的还是有点疑问,
来源:7-6 部门列表树型结构界面开发

心纯净
2019-01-05
下面的代码:
1,其中的
var rendered = Mustache.render(deptListTemplate, {deptList: result.data});
这行代码就能准确的渲染树的所有第一层吗?这个原理是什么呢?或者说如何实现的呢?
2,对于子部门的渲染:
var rendered = Mustache.render(deptListTemplate, {deptList: dept.deptList}); $("#dept_" + dept.id).append(rendered);
这里的append是加到元素上去,是将样式加到这个元素上吗?
3,我自己对于前端这些内容不是很懂,准确的说是Mustache渲染过程不是很懂,麻烦老师耐心讲解一下,感激不尽。
function loadDeptTree() { $.ajax({ url: "/sys/dept/tree.json", success: function (result) { if (result.ret) { deptList = result.data; var rendered = Mustache.render(deptListTemplate, {deptList: result.data}); console.log(deptList); $("#deptList").html(rendered); recursiveRenderDept(deptList); } else { showMessage("加载部门列表", result.msg, false); } } }); } //递归渲染部门树 function recursiveRenderDept(deptList) { if (deptList && deptList.length > 0) { $(deptList).each(function (i, dept) { deptMap[dept.id] = dept; if (dept.deptList.length > 0) { var rendered = Mustache.render(deptListTemplate, {deptList: dept.deptList}); $("#dept_" + dept.id).append(rendered); recursiveRenderDept(dept.deptList); } }); } }
写回答
2回答
-
你好,那个append方法是往指定dom上拼上一段html,可以包含样式,直接会影响展示。
至于其他的写法都是按照mustache语法要求来写的,由于我是后端开发人员,确实没去研究过mustache的源码实现,因此他的渲染细节我也不是完全清楚。前端这里你可以尝试找慕课上的前端大神们聊聊,向他们取取经,应该会收获更多。00 -
心纯净
提问者
2019-01-05
还有就是,下图的层级效果是通过自定义的样式加上ol和li标签配合完成的?
10
相似问题