У меня есть несколько компонентов 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 для каждого типа, который затем будет использоваться для сборки компонента.
Возможно ли это?
Спасибо