10

我有一个来自服务器的简单字符串数组:

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

在我的页面中,显示我拥有的数组:

{{things}}

它打印:

["me", "my"]

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

4

3 回答 3

18

您可以实现一个范围函数以将数组显示为逗号分隔的字符串,如this fiddle所示。

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

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

现在您可以在模板中调用此函数:

{{arrayToString(array)}}

更新

您还可以直接在模板中使用数组的方法,而无需使用更新后的 fiddlejoin()中显示的额外函数。

{{array.join(", ")}}
于 2014-12-02T00:29:50.707 回答
9

我想你会想要ngRepeat类似的东西:

<div class="list" ng-repeat="thing in things">
  {{ thing }}
</div>
于 2014-12-02T00:19:44.707 回答
4

您还可以选择使用一些高级格式创建自定义角度过滤器:

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}}

于 2016-01-20T10:56:56.007 回答