2017-09-13 90 views
0
<span ng-repeat="sport in profile.sports track by $index"> 
     {{ (profile.type == 2) ? ($index >= 0) ? sports[sport.sport_id] + ", " : sports[sport.sport_id] : '' }} 
</span> 

如果至少有1個項目,我希望每個元素由,分開。在ng-repeat值上添加分隔angularjs

預期結果在sports[sport.sport_id]

cricket, football, hockey 
cricket, hockey 
cricket 
cricket, soccer 

目前我得到所有這些沒有逗號,請建議,謝謝。

+1

,你能否告訴了'$ scope.profile'怎麼樣子? – Sajal

回答

1

試試這個

<span ng-repeat="sport in profile.sports track by $index"> 
    {{ modifiedSport(sport, $index) }} 
</span> 

,並添加到您的控制器

$scope.modifiedSport = function(sport, idx){ 
    ($scope.profile.type == 2) ? (idx >= 0) ? $scope.sports[sport.sport_id] + ", " : $scope.sports[sport.sport_id] : '' 
} 
1

您可以使用JavaScript join用逗號分隔

<span ng-repeat="sport in [{value: ['a']}, {value: ['b','c']}]"> 
     <pre>{{sport.value.join(', ')}}</pre> 
</span> 

輸出繼電器:

a 
b, c 
+0

在我的情況會是怎樣的確切的代碼 因爲我用自定義過濾器,但它不工作 – Amy

+0

過濾器(「joinBy」,函數(){ 返回功能(輸入分隔符){ 回報(輸入|| [] ).join(delimiter ||','); } }); – Amy

+0

{{sports [sport.sport_id] | joinBy:','}} – Amy