且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

扩大和崩溃Angularjs视图功能

更新时间: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;
        }
      }
    }
}