Use o filtro nas opções-ng para alterar o valor exibido

Eu tenho uma matriz de preços ( 0 , 0.99 , 1.99 … etc) que eu quero exibir em .

Eu quero usar as ng-options do Angular como este

  

Como é mostrado acima, irá gerar uma seleção de 0 , 0.99 , 1.99

Mas eu quero usar um filtro no código tal que toda vez que a palavra ‘preços’ for apresentada (ou algo assim), o código executará uma function para alterar os números flutuantes para seqüências de caracteres e apresentar ( free , 0.99$ , 1.99$ … etc).

Eu tenho uma maneira de fazer isso?

obrigado

Existe uma maneira melhor:

 app.filter('price', function() { return function(num) { return num === 0 ? 'free' : num + '$'; }; }); 

Então use-o assim:

  

Dessa forma, o filtro é útil para valores únicos, em vez de operar somente em matrizes. Se você tiver objects e filtros de formatação correspondentes, isso é bastante útil.

Os filtros também podem ser usados ​​diretamente no código, se você precisar deles:

 var formattedPrice = $filter('price')(num); 

Você deseja criar o filtro personalizado, como:

 app.filter('price', function() { return function(arr) { return arr.map(function(num){ return num === 0 ? 'free' : num + '$'; }); }; }); 

use-o como:

  

Perdoe o pseudo código

 data-ng-options="( obj.property | myFilter ) for obj in objects" app.filter('myFilter', function() { return function(displayValue) { return (should update displayValue) ? 'newDisplayValue' : displayValue; });