2014-12-02 13 views
7

ich eine einfache String-Array von einem Server kommen haben:Angular Druck String-Array ohne Anführungszeichen

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

In meiner Seite, das Array anzuzeigen habe ich:

{{things}} 

Und es druckt:

Wie kontrolliere ich den Druck, zum Beispiel, wenn ich die Klammern und Anführungszeichen beseitigen möchte?

Antwort

17

Sie können eine Scope-Funktion implementieren Arrays als durch Komma getrennte Strings angezeigt werden wie in this fiddle gezeigt.

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

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

Jetzt können Sie diese Funktion in der Vorlage nennen:

{{arrayToString(array)}} 

aktualisieren

Sie auch die join() Methode von Arrays direkt in der Vorlage verwenden können, ein ohne Verwendung Zusatzfunktion dazwischen, wie in der updated fiddle angezeigt.

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

Ich glaube, Sie ngRepeat für etwas wollen werden wie:

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

können Sie auch mit einigen erweiterten Formatierungs benutzerdefinierte angular filter optional erstellen:

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(', '); 
    }; 
}]) 

Dann in html{{yourArrayValue | formatArray}} nur schreiben.

Verwandte Themen