. Я изо всех сил пытаюсь задуматься о том, как включить ng-include, не использовать дополнительный элемент DOM, поскольку я создаю угловое приложение из простой HTML-демонстрации. Я работаю с довольно тонким HTML с полностью разработанным, тесно связанным с DOM CSS (построен из SASS), и рефакторинг - это то, чего я хочу избежать любой ценой.Избегайте использования дополнительных узлов DOM при использовании nginclude.
Вот фактический код:
<div id="wrapper">
<header
ng-controller="HeaderController"
data-ng-class="headerType"
data-ng-include="'/templates/base/header.html'">
</header>
<section
ng-controller="SubheaderController"
data-ng-class="subheaderClass"
ng-repeat="subheader in subheaders"
data-ng-include="'/templates/base/subheader.html'">
</section>
<div
class="main"
data-ng-class="mainClass"
data-ng-view>
</div>
</div>
мне нужно < раздел > быть повторяющийся элемент, но имеет свою собственную логику и различное содержание. Оба, содержание и количество повторений зависят от бизнес-логики. Как вы можете видеть, установка ng-контроллера и ng-repeat на < раздел > элемент не будет работать. Что бы было, однако, вставить новый узел DOM, чего я пытаюсь избежать.
Что я упускаю? Это лучшая практика или есть лучший способ?
EDIT: только уточнить, как просили в комментариях, окончательный HTML Я пытаюсь создать бы:
<div id="wrapper">
<header>...</header>
<section class="submenuX">
some content from controller A and template B (e.g. <ul>...</ul>)
</section>
<section class="submenuY">
different content from same controller A and template B (e.g. <div>...</div>)
</section>
<section class="submenuZ">
... (number of repetitions is defined in controller A e.g. through some service)
</section>
<div>...</div>
</div>
причина, почему я хочу, чтобы использовать тот же шаблон B (подзаголовок .html), предназначен для чистоты кода. Я заставляю subheader.html иметь какой-то ng-переключатель, чтобы возвращать динамический контент.
Но в основном, подстилающий quiestion: есть ли способ включить содержимое шаблона прозрачно, без использования узла DOM?
EDIT2: Раствор должен быть повторно. =)
Можете ли вы добавить пример вариации, теперь убедитесь, что вы просите? – Chandermani
Извините за это. Отредактировано для уточнения. –
Вы можете использовать ng-include в качестве тега ' ' и не помечать тег, отличный от содержимого 'url'. –
Chandermani