如何使用ng-repeat打印字母表进行编号

时间:2016-02-25 12:48:24

标签: html angularjs ng-repeat

我想在Angular中使用ng-repeat指令打印字母以标记问题选项。

<div ng-repeat="options in $root.options">
  //print alphabets in sequence here//:{{options}}
</div>

$root.options有4个选项,现在我希望它像

一样打印

答:选项1

B:选项2

C:选项3

D:选项4

PS:我不打算使用HTML列表。

2 个答案:

答案 0 :(得分:4)

一种解决方案是在$scope中创建一个字符串,如下所示:

$scope.alphabet = 'abcdefghijklmnopqrstuvwxyz';

然后,您可以使用track by $index中的ng-repeat来访问字符串中的字母,如下所示:

<div ng-repeat="options in $root.options track by $index">
  {{ alphabet[$index] }}: {{ options }}
</div>

答案 1 :(得分:2)

你走了:

首先定义所有字母:

$scope.letterArray = [];
for(var i = 0; i < 26; i++) {
    $scope.letterArray.push(String.fromCharCode(65 + i));
}

然后使用它:

<div ng-repeat="options in $root.options">
    {{letterArray[$index]}}: option {{$option}}
</div>

见下面的工作:

&#13;
&#13;
var myApp = angular.module("sa", []);

myApp.controller("foo", function($scope) {
  
  $scope.letterArray = [];
  
  for (var i = 0; i < 26; i++) {
    $scope.letterArray.push(String.fromCharCode(65 + i));
  }

  $scope.options = [{
    name: "hello foo"
  }, {
    name: "hello bar"
  }];
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="sa" ng-controller="foo">
  <div ng-repeat="option in options">
    {{letterArray[$index]}}: {{option.name}} {{$index}}
  </div>
</div>
&#13;
&#13;
&#13;