2014-12-02 53 views
7

我有一个简单的字符串数组来自服务器:角打印字符串数组没有引号

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

在我的网页,来显示阵列我有:

{{things}} 

而且它打印:

["me", "my"] 

如何控制打印,例如,如果我想消除括号和引号?

回答

17

您可以实现一个范围之类的函数显示在this fiddle显示数组作为逗号分隔字符串。

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

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

现在你可以在模板中调用这个函数:

{{arrayToString(array)}} 

更新

您也可以直接使用模板内的数组的join()方法不使用在updated fiddle中显示的额外功能。

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

我想你会想ngRepeat类似:

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

您还可以创建自定义angular filter任选一些先进的格式:

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

然后在html只写{{yourArrayValue | formatArray}}