我有许多 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在父组件中使用 etc,但我不喜欢这样,因为它看起来有很多重复。
我正在寻找一种解决方案,我可以使用type传入绑定的插值来匹配每种类型的模板 url,然后将其用于构建组件。
这可能吗?
谢谢