来自Json的Angular JS显示字符串数组

时间:2014-12-16 14:11:46

标签: json angularjs

<li ng-repeat="address in search.result.addresses">
<a href ng-click="selectAddress(address)">
  {{address.addressLines}}
</a>
</li>

问题在于我的{{address.addressLines}}

这是一个字符串数组,因此我在屏幕上的值打印出来像

[&#34;地址1&#34;&#34;地址2&#34;&#34;地址3&#34;&#34;地址4&#34;]

但我只想打印像

地址1,地址,地址3,地址4

4 个答案:

答案 0 :(得分:10)

基本上有两种方式:

1)使用原生角度指令:

<span ng-init="foo=[1,2,3,4]" ng-app="app">
        <span ng-repeat="f in foo">{{f}}<span ng-if="!$last">,</span></span>
</span>

2)通过编写一个简单的过滤器(最佳方式):

angular.module('app', []).filter('arrayToList', function(){
        return function(arr) {
            return arr.join(',');
        }
    });

<p>{{foo|arrayToList}}</p>

这是关于jsfiddle的工作示例:http://jsfiddle.net/g0dmazzk/

答案 1 :(得分:3)

您也可以使用加入来执行此操作:

 <li ng-repeat="address in search.result.addresses">
        <a href ng-click="selectAddress(address)">
          {{address.addressLines.join()}}
        </a>
     </li>

答案 2 :(得分:2)

我觉得这样的事情会起作用......

<li ng-repeat="address in search.result.addresses">
<a href ng-click="selectAddress(address)">
  <span ng-repeat="a in address.addressLines"> {{a}},</span>
</a>
</li>    

答案 3 :(得分:0)

为避免处理列表中最后一项的逗号,我使用了一个类(来自Bootstrap的标签),如下所示:

<span ng-repeat="a in address.addressLines" class="label label-default"> {{ a }} </span>