Мне интересно, какая практика лучше?AngularJS: Хорошая практика - где положить шаблоны? (завод/директивы)
- Положить шаблоны в директивы?
- Поместите шаблоны на завод, введите эту фабрику внутри директив и используйте шаблоны с фабрики?
Для лучшего понимания:
Пример 1:
angular.module('myApp').directive('myDirective1', function() {
var myTemplate = '<div>
//a looooot of HTML
</div>';
return {
template: myTemplate
};
});
Пример 2:
angular.module('myApp').directive('myDirective2', ['templateFactory', function (templateFactory) {
return {
template: templateFactory.myTemplate
};
}]);
angular.module('myApp').factory('templateFactory', function() {
var Template = '<div>
//a looooot of HTML
</div>';
return {
myTemplate = Template
}
});
Рассмотрим, что у меня есть, например 20 директив и каждый из них собственный шаблон - поместите все шаблоны внутри фабрики или оставьте их в директивах?
Какой способ лучше использовать, лучше для чтения, лучше всего?
Я упростил эти директивы для чтения и лучше понять эту проблему, но в моем проекте директив есть много вещей внутри (контроллеры, область и т.д.)
Завод будет в списке способов сделать это. Другие способы: '$ templateCache', шаблоны тегов скриптов, файл сервера и т. Д. – charlietfl
Я бы рекомендовал хранить шаблоны, внешние по отношению к директиве, и использовать' templateUrl:/path/to/tmpl' Редактирование шаблонов позже в строке 'template' может стать громоздким , Я бы определенно использовал '$ templateCache' как @charlietfl, упомянутый выше. –