Javascript AngularJS递归模板默认情况下关闭所有节点,并通过单击展开它们
在本例中,Ben Foster是否可以默认关闭所有节点(加载页面时)?要打开每个节点,请单击 我已经找到了一种获取所选节点的方法,但我不知道如何将其与ng click(单击)和ng show(显示)或ng hide(隐藏)相结合:Javascript AngularJS递归模板默认情况下关闭所有节点,并通过单击展开它们,javascript,angularjs,angularjs-ng-click,ng-hide,angularjs-ng-show,Javascript,Angularjs,Angularjs Ng Click,Ng Hide,Angularjs Ng Show,在本例中,Ben Foster是否可以默认关闭所有节点(加载页面时)?要打开每个节点,请单击 我已经找到了一种获取所选节点的方法,但我不知道如何将其与ng click(单击)和ng show(显示)或ng hide(隐藏)相结合: ng-click='nodeSelected($event, category)' 和在控制器中 $scope.nodeSelected = function($event, category){ $event.stopPropagation();
ng-click='nodeSelected($event, category)'
和在控制器中
$scope.nodeSelected = function($event, category){
$event.stopPropagation();
console.log('This node is selected' + category);
}
刚刚发现了一个类似的例子:
var gyroEditor=angular.module('gyroEditor',[]);
gyroEditor.controller('Ctrl',函数($scope){
$scope.nodes=[
{
标题:"电脑",,
类别:[
{
标题:“笔记本电脑”,
类别:[
{
标题:“超级图书”
},
{
标题:“Macbooks”
}
]
},
{
标题:“台式机”
},
{
标题:“平板电脑”,
类别:[
{
标题:“苹果”
},
{
标题:“安卓”
}
]
}
]
},
{
标题:“打印机”
}
];
});
gyroEditor.directive('tree',function(){
返回{
限制:'E',
替换:正确,
作用域:{nodes:'=nodes'},
templateUrl:'tree.html',
控制器:功能($scope){
log('tree ctrl');
}
};
});
gyroEditor.directive('treenode',function(){
返回{
限制:'E',
替换:正确,
作用域:{node:'=node'},
templateUrl:'treenode.html',
控制器:功能($scope){
log('node ctrl');
}
};
});
gyroEditor.directive(“递归”,函数($compile){
返回{
限制:“EACM”,
优先:10万,
编译:函数(远程通讯,tAttr){
var contents=tElement.contents().remove();
var编译内容;
返回函数(范围、IELENT、iAttr){
如果(!compiledContents){
compiledContents=$compile(目录);
}
IELENT.append(
汇编内容(范围,
功能(克隆){
返回克隆;});
};
}
};
});代码>
。面板左{
浮动:左;
宽度:200px;
利润率:0 20px 20px 0;
}
.小组编辑{
浮动:对;
身高:100%;
宽度:100%;
}
{{node.title}
刚刚发现了一个类似的例子:
var gyroEditor=angular.module('gyroEditor',[]);
gyroEditor.controller('Ctrl',函数($scope){
$scope.nodes=[
{
标题:"电脑",,
类别:[
{
标题:“笔记本电脑”,
类别:[
{
标题:“超级图书”
},
{
标题:“Macbooks”
}
]
},
{
标题:“台式机”
},
{
标题:“平板电脑”,
类别:[
{
标题:“苹果”
},
{
标题:“安卓”
}
]
}
]
},
{
标题:“打印机”
}
];
});
gyroEditor.directive('tree',function(){
返回{
限制:'E',
替换:正确,
作用域:{nodes:'=nodes'},
templateUrl:'tree.html',
控制器:功能($scope){
log('tree ctrl');
}
};
});
gyroEditor.directive('treenode',function(){
返回{
限制:'E',
替换:正确,
作用域:{node:'=node'},
templateUrl:'treenode.html',
控制器:功能($scope){
log('node ctrl');
}
};
});
gyroEditor.directive(“递归”,函数($compile){
返回{
限制:“EACM”,
优先:10万,
编译:函数(远程通讯,tAttr){
var contents=tElement.contents().remove();
var编译内容;
返回函数(范围、IELENT、iAttr){
如果(!compiledContents){
compiledContents=$compile(目录);
}
IELENT.append(
汇编内容(范围,
功能(克隆){
返回克隆;});
};
}
};
});代码>
。面板左{
浮动:左;
宽度:200px;
利润率:0 20px 20px 0;
}
.小组编辑{
浮动:对;
身高:100%;
宽度:100%;
}
{{node.title}
谢谢,但您能解释一下如何显示数字吗?(1,2..)如果我想用一些图标(节点打开时的一些图标和节点关闭时的另一个图标)替换数字,该怎么办?数字来自
,您可以隐藏它们。对于图标,您可以使用类似的键键入:“myIcon”
。在本例中,它使用font-awesome
图标。检查这个例子:谢谢,但是你能解释一下你是如何让数字出现的吗?(1,2..)如果我想用一些图标(节点打开时的一些图标和节点关闭时的另一个图标)替换数字,该怎么办?数字来自
,您可以隐藏它们。对于图标,您可以使用类似的键键入:“myIcon”
。在本例中,它使用font-awesome
图标。检查此示例: