0

我遇到了一个问题,我在互联网上的任何地方都找不到答案。我正在尝试在 AngularJS 中动态创建一个类别列表,我不知道我需要多少级别。这些值是从具有 parentID 的数据库中获取的,并且每个元素可能有一个或多个子元素。

我之前使用 ng-repeat 创建了两级列表,但我不知道如何添加更多级别而不嵌套正手所需的重复次数。我知道如何在 php 中执行此操作来生成数据,但这不是我希望完成的。

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

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

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

亲切的问候,Kjetil。

4

1 回答 1

0

您可以创建一个指令来决定将有多少级别并$compile在链接函数中构建/模板。有关如何在此处创建指令的更多信息。

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);
      });
    }
  }
});
于 2013-03-25T13:09:26.553 回答