2014-12-02 2 views
7

Ho un semplice array di stringhe provenienti da un server:stampa angolare stringa array senza citazioni

[{"things":["me", "my"]}] 

Nella mia pagina, per visualizzare la matrice che ho:

{{things}} 

E la stampa:

["me", "my"] 

Come controllo la stampa, ad esempio, se voglio eliminare parentesi e virgolette?

risposta

17

è possibile implementare una funzione di ambito per visualizzare array come separati da virgola stringhe come mostrato nella this fiddle.

$scope.array = ["tes","1","2","bla"]; 

$scope.arrayToString = function(string){ 
    return string.join(", "); 
}; 

Ora è possibile chiamare questa funzione all'interno del modello:

{{arrayToString(array)}} 

Aggiornamento

È inoltre possibile utilizzare il metodo di array join() direttamente all'interno del modello senza utilizzare un funzione aggiuntiva tra quelle visualizzate all'interno di updated fiddle.

{{array.join(", ")}} 
7

penso che si vorrà ngRepeat per qualcosa di simile:

<div class="list" ng-repeat="thing in things"> 
    {{ thing }} 
</div> 
4

È inoltre possibile creare personalizzato angular filter opzionalmente con un po 'di formattazione avanzate:

module.filter('formatArray', ['OptionalInjection', function(OptionalInjection) { 
    return function(value) { 
    if (!angular.isArray(value)) return ''; 
    return value.map(OptionalInjection.formatter).join(', '); // or just return value.join(', '); 
    }; 
}]) 

Poi nel html solo scrivere {{yourArrayValue | formatArray}}.