AngularJS每次迭代都有不同的templateURL

时间:2014-06-16 00:54:13

标签: angularjs angularjs-ng-repeat

我的HTML

<load ng-repeat="item in widget" type="{{item.type}}" ></load>

指令

app.directive('load', function() {      
    return {
        replace: true,
        restrict: 'E',
        templateUrl:'templates/label.html',
        link:function(scope,elem,att){
         } 
    };

});

我想在templateUrl中使用属性类型。每个元素都有其他类型,我想使用不同的模板。

我通过ng-include等创建新的元素加载,无负载,因为我需要用repeat重复替换元素。

1 个答案:

答案 0 :(得分:1)

您无法动态设置模板网址,但可以设置和使用ng-include,请尝试以下操作:

replace: true,   
restrict: 'E',
template: '<div ng-include="includeUrl"></div>',
link: function(scope, element, attrs) {
  scope.includeUrl = 'templates/label-' + attrs.type + '.html';
}