<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
答案 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>