См моя структура проекта нижеКак связать настраиваемую директиву с внешним HTML-шаблоном в AngularJS?
project
-Lib
-MyCustomDirective(which i will use across multiple application)
-customDir.js
-customDirTmpl.html
-app
-js
-myfirstcontroller.js
-main.js
-partials
-myfirstview.html
-index.html
Итак, я планирую создать пользовательскую директиву, которую я хочу использовать в нескольких проектах. Проблема здесь в том, что я хочу сохранить шаблон для моей директивы в отдельном файле html. Когда моя директива загружена, мое приложение пытается найти «customDirTmpl.html», соответствующий текущему приложению, не относящемуся к моей папке «MyCustomDirective».
Я хочу, чтобы шаблон templateUrl моей директивы был таким же во всем проекте, я не хочу изменять его в соответствии с каким-либо конкретным проектом.
Sample код «customDir.js»
var myDir = function() {
return {
restrict: 'E',
//I want this to be constant accross which ever project i use this directive
templateUrl: 'customDirTmpl.html',
link: function(scope){
//to do something
}
};
};
app.directive("MyCustomDir", [myDir]);
Вы можете программно добавить директиву в templateCache, поэтому он будет выбран templateUrl. Или внедрить процесс построения дистрибутива, где источник директивы встроен в один JS-файл, который вы можете использовать в разных проектах. –