在指令中设置类时出现AngularJS错误

时间:2013-04-11 18:53:43

标签: angularjs angularjs-directive

我正在创建一个指令,该指令从通过属性传入的方法呈现内容列表。除了传递一个方法来获取数据之外,它还接受两个属性来设置列表中呈现的ul和li元素的类。当我在li元素上设置类时,它工作正常。当我尝试在ul上设置一个类时,混乱随之发生:ng-repeat不再按预期工作,它抛出异常“undefined is not a function”

这是一个有问题的指令的简化版本。

var myApp = angular.module('myApp',[]).
directive('contentList',function(){
   return {
       restrict: 'E',
       replace: true,
       transclude: true,
       scope: {
           method:'&',
           ulclass: '@',
           liclass: '@'
       },
       template: '<div class="content-list-wrapper"> ' +
                    '<div class="content-loader" ng-show="loading"><i>Loading...</i></div>' +
       '<ul class="content-list {{ulclass}}">' +
                        '<li class="content-list-repeat {{liclass}}" ng-repeat="item in items" ng-transclude></li>' +
                    '</ul>' +
                '</div>',
       link: function(scope,iElement,iAttrs){
           scope.items = scope.method();
       }
   } ;
});

如果删除ul元素的class属性中的{{ulclass}},一切正常。我很困惑为什么它适用于李,但不适用于ul。

我在http://jsfiddle.net/woogychuck/wqU63/

设置了一个jsfiddle

0 个答案:

没有答案