angularJS-Ztree

官网:http://www.treejs.cn/v3/main.PHP#_zTreeInfo

自定义指令

/**
*name:public.ztree
*Version:1.0.0beta
*/
define(['publicZtree'],function(){
angular.module('public.ztree',[]).directive('tree',[function(){
return{
require:'ngModel',restrict:'A',link:function($scope,element,attrs,ngModel){
varsetting={
data:{
key:{
title:"branchName"
},simpleData:{
enable:true
}
},callback:{
onClick:function(event,treeId,treeNode,clickFlag){
BRANCHID=treeNode.branchId;
BranchID=treeNode.branchId;
$scope.$apply(function(){
ngModel.$setViewValue(treeNode);
});
}
},};

//向控制器发送消息,进行菜单数据的获取
$scope.$emit("treeCtrl",attrs["1"]);
$scope.$on("menuData",function(event,data){//监听或接收数据。。用于接收event与data
$.fn.zTree.init($("#tree"),setting,data);//进行初始化树形菜单
//$.fn.zTree.init(element,data);//进行初始化树形菜单element
varzTree=$.fn.zTree.getZTreeObj("tree");//zTree的DOM容器的id
varselectName=$("#selectName").val();
if(typeofselectName=="undefined"||selectName==""){
zTree.selectNode(zTree.getNodeByParam("tree","1"));//认第一个选中
$("#selectName").val(zTree.getSelectednodes()[0]);//赋值
}else{
for(vari=0;i<data.length;i++){
if(data[i]["branchId"]==selectName){
zTree.selectNode(zTree.getNodeByParam("branchId",data[i]["branchId"]));
}
}
}
});


$scope.$on("menuData1",data){//监听或接收数据。。用于接收event与data
$.fn.zTree.init($("#tree1"),data);//进行初始化树形菜单element
varzTree=$.fn.zTree.getZTreeObj("tree");//zTree的DOM容器的id
varselectName=$("#selectName").val();
if(typeofselectName=="undefined"||selectName==""){
//zTree.selectNode(zTree.getNodeByParam("tree","1"));//认第一个选中
//$("#selectName").val(zTree.getSelectednodes()[0]);//赋值//因为修改时selectNode是空的赋值失败报错,所以注释
}else{
for(vari=0;i<data.length;i++){
if(data[i]["branchId"]==selectName){
zTree.selectNode(zTree.getNodeByParam("branchId",data[i]["branchId"]));
}
}
}
});


$scope.$on("menuData2",data){//监听或接收数据。。用于接收event与data
$.fn.zTree.init($("#tree2"),data[i]["branchId"]));
}
}
}
});

}
};
}]);
});
控制器
//获取树节点
$scope.$on("treeCtrl",params){
varCoreUrl=newcoreUrl({"transCode":"B000300"});
CoreUrl.$save(function(data){
//发送消息给子控制器
$scope.mechanismList=data.row;
$scope.$broadcast("menuData",$scope.mechanismList);
},function(error){
alert(JSON.stringify(error));
});
$scope.modifyMechanismList=function(){
$('#addUser').modal();
//$('body').removeClass("open_modal");

$scope.BRANCHID=BRANCHID;
varCoreUrl=newcoreUrl({"transCode":"B000300","branchId":$scope.BRANCHID});
CoreUrl.$save(function(objc){
$scope.organization_query2=objc;
$scope.parentBranchId_choose=objc.row[0].branchName;
},function(error){
alert(JSON.stringify(error));
});
};
});
<divclass="modal-body">
<ultreeid="tree"color:#dcdcdc;"class="ztree"ng-model="selectNode"value="1">
</div>

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...