我已按照以下方式实施了一个组件
angular.module('moduleName')
.component('myComponent', {
templateUrl: 'templatePath1.tpl.html',
controller: myController,
controllerAs: 'vm',
bindings: {
b1: '&',
b2: '&'
}
});
我将其用作<my-component b1="someThing1" b2="someThing2"></my-component>
现在,我想将myController
用于另一个位于templatePath2.tpl.html
的模板。
一种方法是创建另一个组件myComponent2
,
angular.module('moduleName')
.component('myComponent2', {
templateUrl: 'templatePath2.tpl.html',
controller: myController,
controllerAs: 'vm',
bindings: {
b1: '&',
b2: '&'
}
});
有什么方法可以使用以前的组件并根据attr选择templateUrl?如果是的话,应该怎么做?
答案 0 :(得分:0)
templateUrl
可以是一个函数,它将元素和属性作为参数:
angular.module('moduleName')
.component('myComponent', {
templateUrl: function(element, attrs) {
return 'templatePath' + attrs.x + '.tpl.html';
},
<my-component x="1"></my-component>