1

私はこのようなインデックス値の前に使用しています:

{{ $index }}

私が本当に必要としているのは、数値を取得する代わりに、A から Z までの大文字を取得したいということです。繰り返されるのはせいぜい 10 個しかないので、文字が不足するという問題はないはずです。

誰かが私にこれを行う方法を教えてもらえますか?

4

3 に答える 3

5

次のメソッドをスコープに追加します。

$scope.indexChar = function (index) {
    return String.fromCharCode(65 + index);
};

次に、ビューで使用します。

{{ indexChar($index) }}

これがフィドルです:http://jsfiddle.net/Xs5Qn/

于 2013-09-15T17:28:29.817 に答える
3

フィルターでラップされた関数 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);
  };
});
于 2013-09-15T17:33:46.630 に答える
1

アルファベットを表す配列を使用するだけです。

$scope.alphabet = ["A", "B", "C", .... "Z"];

次のようにテンプレートで使用します。

{{ alphabet[$index] }}
于 2013-09-15T17:28:08.827 に答える