knockoutjs模板实现树形结构列表

数据结构

rush:js;"> /*数据*/ var ko_vue_data=[ { name: "总能耗",number:"0",energyone: 14410,energytwo: 1230,energythree: 1230,huanRatio: -36.8,tongRatio: 148.5,child: [ { name: "租户电耗",number:"1",child: [] },{ name: "公共用电",number:"2",child: [ { name: "暖通空调",number:"2.1",child: [ { name: "冷站",number:"2.1.1",child: [ { name: "冷水机组",number:"2.1.1.1",child: [] } ] },{ name: "热力站",number: "2.1.2",child: [] } ] } ] } ] } ];

效果

之前已经写过用Vue实现图上效果方法,此篇为用knockout.js实现上图效果方法,同样通过模板将数据绑定到页面

模板代码

rush:js;">

请对比之前一篇Vue的方法,了解两种方式模板绑定方式的不同。

模板写完,在页面上使用模板。

HTML代码

rush:js;">

JavaScript代码

rush:js;"> /*数据*/ var ko_vue_data=[ { name: "总能耗",child: [] } ] } ] } ] } ]; function addAttribute(dst){ for(var i=0;i默认展开 for(var j=0;jviewmodel() { var self=this; self.ko_vue_data=ko.observableArray(ko_vue_data); self.toggleClick=function (event) {//展开折叠效果 window.event? window.event.cancelBubble = true : event.stopPropagation(); var isFolder=event.isFolder(); if(isFolder){ event.isFolder(false); }else { event.isFolder(true); } } } ko.applyBindings(new viewmodel());

css样式同之前一篇Vue的一致,在这里就不在赘述,如有需要可查看之前一篇。到此两种方式算是全部写完,在报表多的页面,对于以上代码,稍加修改即可复用,绑定数据非常方便。

总结

以上所述是小编给大家介绍的knockoutjs模板实现树形结构列表。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

相关文章

什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:...
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面