发送ng-repeat的迭代器作为函数的参数

时间:2015-07-16 07:43:49

标签: javascript angularjs angularjs-directive angularjs-ng-repeat ng-repeat

我有下面的代码,我试图使用ng-repeat迭代数组并将迭代器作为参数发送给函数。

a)创建一个数组stepTitle。

b)使用ng-repeat迭代通过steptitle。迭代器是' temp'

c)将temp作为参数发送到函数getTitle。

问题 - 如何在ng-repeat标签内向此函数发送参数。 调用stepTitle(temp)不起作用。 代码段:

Directive.displaySteps = ['baseClass',
    function(compBase) {
      return {
            controller: function($scope,$element,$attrs) {
                                        $scope.steptitle =["Step1", "Step2", "Step3"];                 
                                    },
            restrict: "E",
            replace: true,
            template: function(elem,$attrs) {
                return('<div>'+
                '<ul class="nav" ng-repeat="temp in steptitle">'+
                            '<li >'+
                                '<a class="active" id="anchor" href="javascript:void">'+
                                    '<span class="ps-icn-single-start" id="step1_span"/>'+
                                    '<span>{{'+ getTitle(temp)+'}}</span>'+
                                    //'<span>{{temp}}</span>'+
                                '</a>'+ 
                            '</li>'+
                    '</ul>'+
                '</div>');  
    }

1 个答案:

答案 0 :(得分:0)

您在创建模板期间调用该函数,而不应该编译然后调用它。所以将代码更改为:

Directive.displaySteps = ['baseClass',
  function(compBase) {
    return {
        controller: function($scope,$element,$attrs) {
                                    $scope.steptitle =["Step1", "Step2", "Step3"];                 
                                },
        restrict: "E",
        replace: true,
        template: function(elem,$attrs) {
            return('<div>'+
            '<ul class="nav" ng-repeat="temp in steptitle">'+
                        '<li >'+
                            '<a class="active" id="anchor" href="javascript:void">'+
                                '<span class="ps-icn-single-start" id="step1_span"/>'+
                                '<span>{{getTitle(temp)}}</span>'+
                                //'<span>{{temp}}</span>'+
                            '</a>'+ 
                        '</li>'+
                '</ul>'+
            '</div>');  
}