2016-10-06 13 views
0

htmlテンプレートにループのインデックス+ 1を表示するときに問題があります。AngularJSディレクティブダイナミックテンプレートng-repateが機能しない

これは、JSコードです:

var app = angular.module('app', []); 
app.controller('emp', function($scope) { 
    $scope.myNumber = 5; 
    $scope.myOtherNumber = 10; 
    $scope.getNumber = function(num) { 
     return new Array(num); 
    } 
}); 
app.directive('test', function() { 
    return { 
     restrict: 'A', 
     require: 'ngRepeat', 
     scope: { 
      nbr: '@' 
     }, 
     template: '<li ng-repeat="i in getNumber(myOtherNumber) track by $index"><span>{{$index+1}}</span></li>' 
    } 
}); 

答えて

0

あなたが代わりにそのようにコントローラメソッドを呼び出すのディレクティブのパラメータを渡す必要があります。

<list-numbers numbers="[1,2,3,4,5]"></list-numbers> 

またはこのことがあります

<list-numbers numbers="getNumber(myOtherNumber)"></list-numbers> 


app.directive('listNumber', function() { 
    return { 
     restrict: 'E', 
     scope: { 
      numbers: '=' 
     }, 
     template: '<ul><li ng-repeat="i in numbers track by $index"><span>{{$index+1}}</span></li></ul>' 
    } 
}); 
+0

私のためにあなたの助けをしてくれてありがとう –

関連する問題