У меня есть несколько компонентов angular 1.5, которые все используют одни и те же атрибуты и структуру данных. Я думаю, что их можно было переустановить в один компонент, но мне нужен способ динамического выбора шаблона на основе интерполированного значения атрибута type.
var myComponentDef = {
bindings: {
type: '<'
},
templateUrl: // This should be dynamic based on interpolated type value
};
angular.module('myModule').component('myComponent', myComponentDef);
Я не могу использовать templateUrl function($element, $attrs) {}, потому что значения в $attrs неинтерполируются, поэтому я бы не получил тип, указанный в переданных данных.
У меня может быть только один большой шаблон с серией директив ng-if или ng-switch, но я хотел бы оставить шаблоны отдельными.
В качестве альтернативы я мог бы просто разделить компоненты и использовать ng-switch и т.д. в родительском компоненте, но мне это не нравится, поскольку кажется, что много повторений.
Я ищу решение, в котором я могу использовать интерполированный type, переданный в привязки, чтобы соответствовать шаблону url для каждого типа, который затем будет использоваться для сборки компонента.
Возможно ли это?
Спасибо