我有许多 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,然后将其用于构建组件。
这可能吗?
谢谢