使用AngularJS进行动态多级重复

时间:2013-03-25 12:24:01

标签: list angularjs repeat

我遇到了一个问题,我无法在互联网上的任何地方找到答案。我想在AngularJS中动态创建一个类别列表,我不知道我需要多少级别的正则。使用parentID从数据库中获取值,每个元素可以包含一个或多个子元素。

我之前使用过ng-repeat来创建两级列表,但我不知道如何添加更多级别而不需要在正手上嵌套尽可能多的重复。我知道如何在php中执行此操作来生成数据,但这不是我想要完成的任务。

我可能需要使用指令或某种类型,但我需要有人指出我正确的方向。

此插件中有一种解决方案:http://plnkr.co/edit/NBDgqKOy2qVMQeykQqTY?p=preview 但我认为这是一个非常肮脏的解决方案,我真的在寻找一个更好的解决方案。

感谢您提供任何提示或提示。

亲切的问候, 谢蒂尔。

1 个答案:

答案 0 :(得分:0)

您可以创建一个指令,决定将在链接函数中构建/ $compile模板的级别。有关how to create a directive here的更多信息。

app.directive('categoryList', function($compile) {
  return {
    link: function(scope, elm, attr) {
      scope.$watch('somethingThatShowYouShouldRebuild', function() {
        // all the log that figures aout how many levels (a recursive function probably)
        // that will build the HTML template with all nested ng-repeat's
        var template = // ...
        elm.html(template);
        $compile(elm)(scope);
      });
    }
  }
});