




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、在AngularJS中用法jQuery的zTree插件的方法_ 這篇文章主要介紹了在AngularJS中用法jQuery的zTree插件的方法,Angular中集成了jqLite,但還不是完全版的jQuery,需要的伴侶可以參考下 前段時(shí)間始終在看AngularJS的資料,感覺(jué)是個(gè)很好的框架,很想有機(jī)會(huì)嘗試用它做點(diǎn)什么。 jQuery ZTree是國(guó)內(nèi)特別不錯(cuò)的JQuery插件,功能齊全,文檔和API也特別的友好,之前項(xiàng)目上常用此插件。 AngularJS 功能雖然特別強(qiáng)大,但UI上供應(yīng)的插件不像JQuery那么多,而且只能通過(guò)directive定義擴(kuò)展的UI插件,雖然國(guó)外已經(jīng)供應(yīng)了一些基于
2、directive的Tree功能實(shí)現(xiàn),但到底不像ZTree那樣強(qiáng)大,而且Tree是做項(xiàng)目中很長(zhǎng)用的一個(gè)基本功能。 因此,花了一點(diǎn)時(shí)間做了一個(gè)例子將ZTree應(yīng)用到AngularJS中。 zTree和后臺(tái)數(shù)據(jù)的交互 首先,確定是在頁(yè)面中引入Angularjs的相關(guān)腳本,例如模塊(e.g. app.js)、掌握器(e.g. controller.js)、Angularjs的腳本并進(jìn)行相關(guān)標(biāo)記的用法,然后引入zTree的樣式包和zTreed 腳本,可以參看一下代碼: !DOCTYPE html html lang=zh-CN ng-app=app head meta charset=utf-8 me
3、ta http-equiv=X-UA-Compatible content=IE=edge meta name=viewport content=width=device-width, initial-scale=1 title樹(shù)型菜單/title link href=plugins/bootstrap-3.3.5/css/bootstrap.min.css rel=stylesheet link href=css/zTreeStyle.css rel=stylesheet /head % include ././include/header.html % % include ././incl
4、ude/top-menu.html % div id=content class=content clearfix ng-controller=wtConfigInfo ul tree id=tree style=font:normal 12px/35px Arial;color:#dcdcdc; class=ztree ng-model=selectNode value=1 /div % include ././include/footer.html % script src=plugins/jquery-1.11.3.min.js type=text/javascript/script s
5、cript src=plugins/bootstrap-3.3.5/js/bootstrap.min.js type=text/javascript/script script src=./js/angular.min.js type=text/javascript/script script src=./js/angular/app.js type=text/javascript/script script src=./js/angular/controllers.js type=text/javascript/script script src=./plugins/zTree/jquery
6、.ztree.all-3.5.js type=text/javascript/script /body /html 在上面的在ul標(biāo)簽中添加了指令tree,這樣在加載angularjs中,就可通過(guò)指令 tree來(lái)進(jìn)行菜單數(shù)據(jù)的獵取。具體的代碼可參考以下代碼: var app = angular.module(app, ); /樹(shù)形結(jié)構(gòu) app.directive(tree,function() return require:?ngModel, restrict:A, link:function($scope,element,attrs,ngModel) var setting = data :
7、 simpleData: enable:true , callback: beforeClick:function(treeId, treeNode) /點(diǎn)擊菜單時(shí)進(jìn)行的處理 var zTree = $.fn.zTree.getZTreeObj(tree); if (treeNode.isParent) zTree.expandNode(treeNode); return false; else window.location.href=treeNode.url; return true; ; /向掌握器發(fā)送消息,進(jìn)行菜單數(shù)據(jù)的獵取 $scope.$emit(menu,attrsvalue);
8、/此處attrsvalue為ul中的value值,此處作為標(biāo)記用法 /接受掌握器返回的菜單的消息 $scope.$on(menuData,function(event,data) $.fn.zTree.init(element, setting, data);/進(jìn)行初始化樹(shù)形菜單 var zTree = $.fn.zTree.getZTreeObj(tree); var selectName = $(#selectName).val(); if(typeof selectName = undefined | selectName = ) zTree.selectNode(zTree.getNo
9、deByParam(id,1);/默認(rèn)第一個(gè)選中 $(#selectName).val(zTree.getSelectedNodes()0.code);/賦值 else for(var i =0; idata.length;i+) if(dataicode = selectName ) zTree.selectNode(zTree.getNodeByParam(code, dataicode); ); ); 在上述代碼中,用法$scope.$emit(menu,attrsvalue);向父掌握器發(fā)送懇求數(shù)據(jù),在掌握器代碼中可以接受此消息,并用法$http向后臺(tái)進(jìn)行數(shù)據(jù)的懇求,并將從數(shù)據(jù)庫(kù)中懇求
10、來(lái)的數(shù)據(jù)發(fā)送個(gè)子掌握器。掌握器的代碼可參考如下: function wtConfigInfo($scope,$http) /接受子掌握器發(fā)送的消息 $scope.$on(menu,function(event,params) $http.get(/commonfuncode).success(function(data) /發(fā)送消息給子掌握器 $scope.$broadcast(menuData,dealMenuData(data,params); ); ); 這樣,就完成了zTree和后臺(tái)數(shù)據(jù)的交互。 利用指令集成ZTree的實(shí)例 !doctype html html lang=en ng-
11、app=app head meta charset=utf-8 titleZTree/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.a
12、ll-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.direc
13、tive(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)
14、 $scope.$apply(function () ngModel.$setViewValue(treeNode); ); ; var zNodes = id: 1, pId: 0, name: 一般的父節(jié)點(diǎn), t: 我很一般,任憑點(diǎn)我吧, open: true , id: 11, pId: 1, name: 葉子節(jié)點(diǎn) - 1, t: 我很一般,任憑點(diǎn)我吧 , id: 12, pId: 1, name: 葉子節(jié)點(diǎn) - 2, t: 我很一般,任憑點(diǎn)我吧 , id: 13, pId: 1, name: 葉子節(jié)點(diǎn) - 3, t: 我很一般,任憑點(diǎn)我吧 , id: 2, pId: 0, name:
15、NB的父節(jié)點(diǎn), t: 點(diǎn)我可以,但是不能點(diǎn)我的子節(jié)點(diǎn),有本領(lǐng)點(diǎn)一個(gè)你試試看?, open: true , id: 21, pId: 2, name: 葉子節(jié)點(diǎn)2 - 1, t: 你哪個(gè)單位的?敢任憑點(diǎn)我?當(dāng)心點(diǎn)兒., click: false , id: 22, pId: 2, name: 葉子節(jié)點(diǎn)2 - 2, t: 我有老爸罩著呢,點(diǎn)擊我的當(dāng)心點(diǎn)兒., click: false , id: 23, pId: 2, name: 葉子節(jié)點(diǎn)2 - 3, t: 好歹我也是個(gè)領(lǐng)導(dǎo),別一般群眾就來(lái)點(diǎn)擊我., click: false , id: 3, pId: 0, name: 郁悶的父節(jié)點(diǎn), t: 別點(diǎn)我,我好可怕.我的子節(jié)點(diǎn)任憑點(diǎn)吧., open: true, click: false , id: 31, pId: 3, name: 葉子節(jié)點(diǎn)3 - 1, t: 唉,任憑點(diǎn)我吧 , id: 32, pId: 3, name: 葉子節(jié)點(diǎn)3 - 2, t: 唉,任憑點(diǎn)我吧 , id: 33, pId
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025人教版(2024)小學(xué)美術(shù)一年級(jí)下冊(cè)教學(xué)計(jì)劃、教學(xué)設(shè)計(jì)及教學(xué)反思(附目錄)
- 2023槽式太陽(yáng)能集熱器技術(shù)條件
- 小產(chǎn)權(quán)購(gòu)房協(xié)議書
- 旅游業(yè)數(shù)字化轉(zhuǎn)型服務(wù)流程管理辦法
- 亮化工程廠家供貨合同
- 合伙合作工程協(xié)議書
- 商標(biāo)權(quán)轉(zhuǎn)讓合同書8篇
- 房屋遺產(chǎn)分配協(xié)議書
- 建筑器材購(gòu)銷合同范本
- 水環(huán)真空泵市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 2025年海域使用權(quán)租賃合同
- 四年級(jí)希望杯歷年數(shù)學(xué)競(jìng)賽試題與答案1-13屆+奧數(shù)分類專項(xiàng)練習(xí)集等
- (2025春)人教版三年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)教案
- 河南2025年02月鄭州市公安機(jī)關(guān)公開(kāi)招考1200名警務(wù)輔助人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年江蘇省高職單招《職測(cè)》高頻必練考試題庫(kù)400題(含答案)
- 2025云南紅河州個(gè)舊市大紅屯糧食購(gòu)銷限公司招聘及人員高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- X證書失智老年人照護(hù)講解
- 2024-2025學(xué)年人教版數(shù)學(xué)八年級(jí)下冊(cè)期中檢測(cè)卷(含答案)
- 2024年山東服裝職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2025屆江蘇蘇州市四校高三12月聯(lián)考語(yǔ)文試題(教師版)
- 2025年春新外研版(三起)英語(yǔ)三年級(jí)下冊(cè)課件 Unit2第3課時(shí)Fuelup
評(píng)論
0/150
提交評(píng)論