私はこのようなインデックス値の前に使用しています:
{{ $index }}
私が本当に必要としているのは、数値を取得する代わりに、A から Z までの大文字を取得したいということです。繰り返されるのはせいぜい 10 個しかないので、文字が不足するという問題はないはずです。
誰かが私にこれを行う方法を教えてもらえますか?
私はこのようなインデックス値の前に使用しています:
{{ $index }}
私が本当に必要としているのは、数値を取得する代わりに、A から Z までの大文字を取得したいということです。繰り返されるのはせいぜい 10 個しかないので、文字が不足するという問題はないはずです。
誰かが私にこれを行う方法を教えてもらえますか?
次のメソッドをスコープに追加します。
$scope.indexChar = function (index) {
return String.fromCharCode(65 + index);
};
次に、ビューで使用します。
{{ indexChar($index) }}
これがフィドルです:http://jsfiddle.net/Xs5Qn/
フィルターでラップされた関数 String.fromCharCode(n) を使用できます。
angular.module('myApp').filter('fromCharCode', function() {
return function(input) {
return String.fromCharCode(input);
};
});
テンプレートでは、次のように呼び出すことができます。
{{($index + 65) | fromCharCode}} // 65 is the letter A
編集:大文字のみを返す、より具体的なフィルターを作成することもできます。
angular.module('myApp').filter('letterFromCode', function() {
return function(input) {
var code = input % 26;
return String.fromCharCode(65 + code);
};
});
アルファベットを表す配列を使用するだけです。
$scope.alphabet = ["A", "B", "C", .... "Z"];
次のようにテンプレートで使用します。
{{ alphabet[$index] }}