0

インターネット上のどこにも答えが見つからないという問題があります。AngularJS でカテゴリ リストを動的に作成しようとしていますが、事前に必要なレベル数がわからない場合があります。値は、parentID を使用してデータベースから取得され、各要素には 1 つ以上の子が含まれる場合があります。

以前に ng-repeat を使用して 2 レベルのリストを作成しましたが、事前に必要な数の繰り返しをネストせずにレベルを追加する方法がわかりません。データを生成するためにphpでこれを行う方法は知っていますが、それは私が達成したいことではありません。

ディレクティブなどを使用する必要があるかもしれませんが、正しい方向に向けてくれる人が必要です。

このプランクには一種の解決策があります: http://plnkr.co/edit/NBDgqKOy2qVMQeykQqTY?p=preview ですが、これは非常に汚い修正だと思います。より良い修正を探しています。

ヒントやヒントをありがとう。

よろしく、ケティル。

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 に答える