尝试做这样的事情
<md-card class="saved-search animated" ng-repeat="search in vm.savedSearches" md-theme="default" md-theme-watch>
<md-card-header>
<md-card-header-text>
<span class="md-title md-body-2">{{search.address[0]}}</span>
<span class="md-subhead">{{search.address | remainingAddress}}</span>
</md-card-header-text>
function remainingAddress() {
return remainingAddress;
////////////////
function remainingAddress(input) {
let newArray = input;
return input ? newArray.shift().join(',') : input;
}
}
我希望将第一行地址显示为有效的标题,以及下一行的地址的剩余部分。但问题是剩下的地址和shift()它总是返回空数组我猜是因为多次shift()清除了循环中的数组。
答案 0 :(得分:0)
shift不返回数组,它返回已删除的数组元素,试试这个
function remainingAddress() {
return remainingAddress;
////////////////
function remainingAddress(input) {
let newArray = input;
if(input){
newArray.shift()
return newArray.join(',')
}
return input;
}
}
答案 1 :(得分:0)
您可以使用limitTo
过滤器和Array.join
方法:
<span class="md-title md-body-2">{{search.address[0]}}</span>
<span class="md-subhead">
{{ (search.address | limitTo: -(search.address.length - 1)).join(',') }}
</span>
通过将负数-n
传递给limitTo
过滤器,您要求它返回数组的最后n
项。
参考:limitTo。