Есть несколько популярных рекурсивных угловых директив Q & A, которые сводятся к одному из следующих решений:
- постепенно компилировать HTML вручную в зависимости от состояния области выполнения
- не используйте директиву вообще, но шаблон <script>, который ссылается на себя
Первая проблема заключается в том, что вы не можете удалить ранее скомпилированный код, если вы не управляете процессом ручной компиляции. Второй подход имеет проблему ... не быть директивой и упускать ее мощные возможности, но, что более важно, его нельзя параметризовать так же, как директиву; это просто связано с новым экземпляром контроллера.
Я играл вручную, выполняя функцию angular.bootstrap
или @compile()
в функции ссылки, но у меня осталась проблема с ручным отслеживанием элементов для удаления и добавления.
Есть ли хороший способ иметь параметризованный рекурсивный шаблон, который управляет добавлением / удалением элементов для отражения состояния времени выполнения? То есть дерево с кнопкой добавления / удаления узла и некоторым полем ввода, значение которого передается по дочерним узлам узла. Возможно сочетание второго подхода с цепочками (но я не знаю, как это сделать)?