Angular Tree Design: один контроллер для всего дерева или один контроллер на узел дерева?

0

Newby AngularJS вопрос дизайна. Когда я говорю "контроллер", я имею в виду все обычные компоненты, такие как директивы, шаблоны и другие вещи, которые обычно идут вместе.

Необходимо создать пользовательскую "рабочую область" с папками и объектами в каждой папке. Пользователи могут создавать/удалять/переименовывать папки и их дочерние объекты. В каждой папке может быть возможно 50 папок максимум, а может быть 100 объектов.

Естественно, я хочу реализовать идею рекурсивных контроллеров, как упомянуто для этого вопроса. Можно ли создать вид дерева с угловым?

  • Будет ли проблема с производительностью с рекурсивной настройкой контроллера или было бы лучше использовать один контроллер для всего дерева?
    • Что такое хороший пример кода с использованием настройки одного дерева контроллера?
  • В общем, хорошо ли обрабатывает угловые шаблоны AngularJS или это анти-шаблон для ng?
  • 0
    Может быть, посмотрите на использование Kendo UI Tree View. Кендо имеет приличную угловую привязку и это лучше, чем писать его с нуля ИМО. Вот пример ... demos.telerik.com/kendo-ui/treeview/angular
  • 0
    Рекурсивные шаблоны могут быть сделаны с помощью: github.com/dotJEM/angular-tree
Теги:
design-patterns
design

1 ответ

2

Я бы рекомендовал и использовал https://github.com/angular-ui-tree/angular-ui-tree. Он имеет тонну существующих функций для вставки, перетаскивания, клонирования... Он очень гибкий, несколько отличных демо, и имеет много истории и вкладчиков.

При этом вы должны использовать 1 контроллер и одну директиву и удерживать все элементы в 1 объекте json.

Также это Open Source/Free, тогда как пользовательский интерфейс Kendo составляет 699 долларов США

  • 0
    Хотя вы не отвечаете на мои вопросы, я ценю ссылку.
  • 0
    Я дал вам рекурсивное решение для обработки данных с одним контроллером. Здесь обсуждается опция рекурсивного контроллера stackoverflow.com/questions/18415142/… . Я бы не пошел по этому пути, когда самый простой способ - это использовать рекурсивные данные, и если вам нужны дополнительные директивы или контроллеры в каждом узле дерева, вы можете сделать это.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню