2013-03-25 49 views
0

我遇到了一個問題,我無法在互聯網上的任何地方找到答案。我試圖在AngularJS中動態創建一個類別列表,我不知道正確的多少級別。這些值是從數據庫中獲取的,具有parentID,每個元素可以有一個或多個子元素。AngularJS動態多級重複

我之前使用過ng-repeat來創建兩級列表,但我不知道如何添加更多級別,而不需要像正手所需的那樣重複多次重複。我知道如何在php中執行此操作來生成數據,但這不是我想要完成的。

我可能需要使用指令或某種類型的指令,但我需要有人指點我正確的方向。

在這個龐然大物中有一種解決方案:http://plnkr.co/edit/NBDgqKOy2qVMQeykQqTY?p=preview 但我認爲這是一個非常髒的修復,我真的在尋找一個更好的解決方案。

謝謝你的任何提示或提示。

親切的問候, Kjetil。

+1

看看在這個崗位http://stackoverflow.com/questions/11854514/is-it-possible-to-make-a-tree-view-with-angular – charlietfl 2013-03-25 13:07:43

+0

演示這是不是一個骯髒的修復。這可能是正確的做法。你爲什麼覺得它很髒?它使用遞歸的概念,這是你如何渲染樹組件。 – ganaraj 2013-03-25 14:18:28

回答

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); 
     }); 
    } 
    } 
});