2015-09-26 38 views
0

Newby AngularJS設計問題。當我說「控制器」時,我指的是所有通常的組件,如指令,模板和其他通常一起使用的組件。角樹設計:整棵樹的單個控制器,或每個樹節點的單個控制器?

需要爲每個文件夾中的文件夾和對象創建一個用戶「工作區」。用戶可以創建/刪除/重命名文件夾及其子對象。最多可能有50個文件夾,但每個文件夾中可能有100個對象。

當然,我想實現一個遞歸控制器的想法就像提到這個問題Is it possible to make a Tree View with Angular?

  • 會不會有一個遞歸控制器設置 性能問題或將是最好使用一個控制器,用於整個樹?
    • 什麼是使用單一樹控制器設置的一些好的示例代碼?
  • 一般來說,AngularJS是否能很好地處理遞歸模式,或者它是ng的反模式?
+0

也許看看使用Kendo UI樹視圖。 Kendo擁有像樣的Angular綁定,並且比從頭開始編寫IMO更好。下面是一個例子... http://demos.telerik.com/kendo-ui/treeview/angular – hally9k

+0

遞歸模板可以用:https://github.com/dotJEM/angular-tree – Jens

回答

2

我會推薦和使用https://github.com/angular-ui-tree/angular-ui-tree它有大量現有的插入,拖放和克隆功能......它非常靈活,有一些很棒的演示,並且有很多歷史和貢獻者。

有了這個,你可以使用1個控制器和一個指令,並把所有元素放在1個json對象中。

另外它是開源免費,而Kendo UI是$ 699

+0

雖然你不回答我的問題,我很欣賞這個鏈接。 – AlJo

+0

我給你一個單一控制器的遞歸數據解決方案。這討論遞歸控制器選項http://stackoverflow.com/questions/18415142/how-to-handle-recursive-rendering-of-data-using-angularjs。如果最簡單的方法是使用遞歸數據,並且您需要每個樹節點中的附加指令或控制器,那麼我不會採用這種方法。 – Enkode

+0

我知道我有兩種選擇。問題是關於利弊。 – AlJo