У меня есть приложение AngularJS, которое имеет список содержимого в меню. Когда пользователь нажимает на элемент в меню, содержимое загружается на основной экран. Есть несколько типов контента:Множественные частичные виды на AngularJS
Когда "1" нажата, видео загружается. При нажатии «2» загружается документ PDF и т. Д. Типы содержимого могут повторяться и быть сложными.
Теперь я устанавливаю $scope.content
когда элемент щелкнул и, в зависимости от его contentType
, я звоню другую директиву:
<div class="content" ng-switch on="content.contentType">
<div ng-switch-when="video">
<videoplayer-directive video="content"></videoplayer-directive>
</div>
<div ng-switch-when="pdf">
<pdfreader-directive pdf="content"></pdfreader-directive>
</div>
<div ng-switch-when="...">
<...-directive content="content"></...-directive>
</div>
</div>
Теперь у меня есть две проблемы:
- Когда страница загружается, все шаблоны директив автоматически загружаются. Даже если у меня нет PDF-файла в меню, будет загружен шаблон и скрипты pdf.
- В поисках этого я узнал, что директивы должны быть крошечными, а не целыми модулями моего приложения.
Как переписать переключатель выше, чтобы я мог соблюдать рекомендации и загружать шаблоны и скрипты только при необходимости?
Это была хорошая альтернатива, используя 'templateProvider' uiRouter. Благодаря! –