更新时间:2022-01-21 03:34:01
建立树状结构时,最棘手的部分是指导递归。谷歌递归指令来查找有关问题的一些信息。解决的办法是在链接
添加和编译递归部分。我在这里 http://plnkr.co/edit/JgQu3r构建了一个简单的例子吗? p = preVIEW
The tricky part when building a tree like structure is directive recursion. Google for "recursive directive" to find some info about the problems. The solution is to add and compile the recursive parts in link
. I've built a simple example here http://plnkr.co/edit/JgQu3r?p=preview
function myMenu() {
return {
scope : {
myMenu : '=myMenu'
},
template: '<li ng-repeat="item in myMenu"><my-menu-item></my-menu-item></li>'
}
}
myMenuItem.$inject = ['$compile'];
function myMenuItem($compile) {
return {
template: '<a href ng-bind="item.name" ng-click="show($event)"></a>',
link: function(scope, element) {
if (angular.isArray(scope.item.menu)) {
element.append($compile(
'<ul ng-if="collapsed" my-menu="item.menu"></ul>')(scope));
}
scope.show = function($event) {
scope.collapsed = !scope.collapsed;
}
}
}
}