前段时间一直在看AngularJS的资料,感觉是个很好的框架,很想有机会尝试用它做点什么。
JQuery ZTree是国内非常不错的JQuery插件,功能齐全,文档和API也非常的友好,之前项目上常用此插件。
AngularJS 功能虽然非常强大,但UI上提供的插件不像JQuery那么多,而且只能通过directive定义扩展的UI插件,虽然国外已经提供了一些基于 directive的Tree功能实现,但毕竟不像ZTree那样强大,而且Tree是做项目中很长用的一个基本功能。
因此,花了一点时间做了一个例子将ZTree应用到AngularJS中。
<!doctype html> <html lang="en" ng-app="app"> <head> <meta charset="utf-8"> <title>ZTree</title> <link rel="stylesheet" href="css/app.css"> <link rel="stylesheet" href="css/bootstrap.css"> <link rel="stylesheet" href="css/animations.css"> <link rel="stylesheet" href="css/zTreeStyle/zTreeStyle.css"> <script src="lib/jquery-1.10.2.min.js"></script> <script src="lib/jquery.ztree.all-3.5.js"></script> <script src="lib/angular.min.js"></script> <script src="app.js"></script> </head> <body> <body ng-controller='MyController'> <ul tree class="ztree" ng-model="selectNode"></ul> </body> <pre> {{selectNode | json}} </pre> </body> </html>
app.js
'use strict'; /* App Module */ var appModule = angular.module('app', []); appModule.directive('tree', function () { return { require: '?ngModel', restrict: 'A', link: function ($scope, element, attrs, ngModel) { //var opts = angular.extend({}, $scope.$eval(attrs.nlUploadify)); var setting = { data: { key: { title: "t" }, simpleData: { enable: true } }, callback: { onClick: function (event, treeId, treeNode, clickFlag) { $scope.$apply(function () { ngModel.$setViewValue(treeNode); }); } } }; var zNodes = [ { id: 1, pId: 0, name: "普通的父节点", t: "我很普通,随便点我吧", open: true }, { id: 11, pId: 1, name: "叶子节点 - 1", t: "我很普通,随便点我吧" }, { id: 12, pId: 1, name: "叶子节点 - 2", t: "我很普通,随便点我吧" }, { id: 13, pId: 1, name: "叶子节点 - 3", t: "我很普通,随便点我吧" }, { id: 2, pId: 0, name: "NB的父节点", t: "点我可以,但是不能点我的子节点,有本事点一个你试试看?", open: true }, { id: 21, pId: 2, name: "叶子节点2 - 1", t: "你哪个单位的?敢随便点我?小心点儿..", click: false }, { id: 22, pId: 2, name: "叶子节点2 - 2", t: "我有老爸罩着呢,点击我的小心点儿..", click: false }, { id: 23, pId: 2, name: "叶子节点2 - 3", t: "好歹我也是个领导,别普通群众就来点击我..", click: false }, { id: 3, pId: 0, name: "郁闷的父节点", t: "别点我,我好害怕...我的子节点随便点吧...", open: true, click: false }, { id: 31, pId: 3, name: "叶子节点3 - 1", t: "唉,随便点我吧" }, { id: 32, pId: 3, name: "叶子节点3 - 2", t: "唉,随便点我吧" }, { id: 33, pId: 3, name: "叶子节点3 - 3", t: "唉,随便点我吧" } ]; $.fn.zTree.init(element, setting, zNodes); } }; }); appModule.controller('MyController', function ($scope) { });
实现功能:定义tree这个属性,使<ul tree class="ztree" ng-model="selectNode"></ul>自动变成一个有数据的tree,点击树节点,自动变更model 的selectNode。
相关推荐
运用示例代码给大家详细介绍了利用AngularJS如何实现树形结构(ztree)菜单,文中仅用了几行AngularJS代码就是了这个功能,对大家日常开发很有帮助,有需要的朋友们可以参考借鉴,下面来一起看看吧。
开箱即用的ztree封装:右键事件、拖动节点、一键展开关闭节点、windows风格图标等等
虽然AngularJS集成了jqLite,一个轻量级的jQuery核心,但它并不是完整版的jQuery。jqLite提供了基本的DOM操作功能,但对于复杂的jQuery插件,如zTree,jqLite的内置方法不足以完全兼容和控制这些插件。因此,在使用...
在这个场景中,我们讨论的是如何利用JavaScript集成zTree库来创建一个树形结构的菜单。zTree是一款基于jQuery的插件,它提供了丰富的功能和灵活的配置选项,使得在网页上构建和管理树形数据变得简单。 首先,我们...
ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网ztree官网...
通过以上步骤,我们就可以在Bootstrap环境下,利用Select2和ZTree创建一个下拉框带树结构的功能,使得用户在选择过程中能方便地浏览和选择层级结构的数据。这种集成方式广泛应用于需要展示和操作层级数据的场景,如...
通过与其他前端框架(如AngularJS、Vue.js)集成,能进一步提升开发效率和用户体验。 总之,zTree是一款强大而灵活的jQuery树形插件,其丰富的功能和简单易用的API使其成为构建树形结构的首选工具。开发者可以通过...
例如,在文件管理系统中,可以利用ztree展示文件夹和文件的层级关系,实现浏览、上传、下载、重命名等操作。在权限系统中,它可以用来展示角色和权限的树状分配。 6. **ztree的扩展性**:ztree不仅提供了基本的树形...
这个"ZTreeDemo(asp.net版)"示例旨在演示如何在ASP.NET平台上有效地集成ZTree,实现异步和同步数据加载,以及从后台动态获取数据并进行绑定。 1. **ZTree介绍** ZTree是一款轻量级、高效且可自定义的树形控件,...
5. **交互与事件处理**:`ZTree`提供了丰富的API和事件,你可以利用这些功能与`Bootstrap`的其他组件(如模态、下拉菜单等)进行交互。 6. **测试与优化**:完成初步集成后,务必进行多设备、多浏览器的测试,以...
**zTree概述** zTree是一款基于JavaScript的树形插件,广泛应用于网页中展示层级结构的数据,例如组织架构、文件目录、菜单系统等。它以其轻量级、高性能、易于扩展的特点深受开发者喜爱。zTree提供了丰富的API接口...
在Delphi开发环境中,可以通过集成JavaScript库来利用zTree的功能。 在zTree v3.5.15.zip的压缩包中,包含了以下几个关键文件夹和文件: 1. **log v3.x.txt**:这个文件可能是开发过程中产生的日志文件,记录了v3....
解压后,开发者可以查看`demo.html`中的示例代码,了解如何集成zTree并实现过滤功能。在实际项目中,可以参考这些代码进行定制,以满足特定需求。 5. **注意事项** - 使用过滤功能时,确保zTree的版本与所使用的...
而在建站模板中,预集成zTree能快速搭建出具有专业感的管理界面。 总的来说,JQuery zTree v3.5.47是一个强大的前端组件,它为开发者提供了构建动态树形菜单的强大工具,无论是在学术研究还是实际项目开发中,都能...
【基于ztree开发的下拉树控件ztree-select】是一种高效的前端UI组件,它结合了ztree的核心特性和下拉菜单的功能,适用于构建具有层级结构的选中项。ztree是一个广泛使用的JavaScript树形插件,而ztree-select则是其...
zTree是一款基于jQuery的开源项目,它以高效、灵活、多能的特点在Web开发领域中广泛应用。"zTree_v3-master.zip"中的"ztree"指的是这个插件的最新版本,即v3版本,而“多功能插件”的标签进一步强调了zTree不仅仅是...
"Ztree利用getNodesByFilter进行js搜索 搜索父级隐藏"这一主题涉及到在ZTree中实现高级搜索功能,特别是当需要隐藏不符合条件的父级节点时。通常,ZTree展示的数据结构是一个层次化的树形结构,每个节点可能包含子...
本篇将详细介绍如何利用Ztree和treeTable来实现这样的功能。 Ztree是一款基于JavaScript的树形插件,它提供了丰富的功能和良好的性能,广泛应用于网页端的数据展示。Ztree_v3是其第三个主要版本,具有更多的特性和...