Итак, начиная с Angular 1.1.4, у вас может быть динамический URL-адрес шаблона. Из здесь,
templateUrl — то же, что и template, но шаблон загружается с указанного URL-адреса. Поскольку загрузка шаблона является асинхронной, компиляция/связывание приостанавливается до загрузки шаблона.
Вы можете указать templateUrl как строку, представляющую URL-адрес, или как функцию, которая принимает два аргумента tElement и tAttrs (описанные в API функции компиляции ниже) и возвращает строковое значение, представляющее URL-адрес.
Как я могу использовать это для создания динамического шаблона на основе, скажем, атрибута моей директивы? Очевидно, это не работает, так как tAttrs.templateType — это просто строка templateType.
templateUrl: function (tElement, tAttrs) {
if (tAttrs.templateType == 'search') {
return '/b/js/vendor/angular-ui/template/typeahead/typeahead.html'
} else {
return '/b/js/vendor/angular-ui/template/typeahead/typeahead2.html'
}
}
Учитывая, что у меня нет доступа к области, как мне с этим справиться?