我想在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列表。
答案 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>
见下面的工作:
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;