When I use ng-repeat I have a comma to split up information such as names in a nice row, however with the comma being in the ng-repeat
function it adds a comma at the end as well which is incorrect.
What I am thinking is there must be a way to check if there is another item to be displayed. If there is display the comma, and if there is not then don't display the comma.
An example of my code is as follows:
<tbody class="offerInformation">
<tr><td><b>Test:</b></td><td>Start/End</td></tr>
<tr><td><b>Test:</b></td><td><span ng-repeat="testing in results.names"><span ng-bind="testing"></span> , </span></td></tr>
<tr><td><b>Test:</b></td><td>Test</td></tr>
<tr><td><b>Test:</b></td><td></td></tr>
</tbody>
As you see the second table row has a comma that shows up for every repeated item in the array. Which in the end if there is say 3 people the output is as follows:
Jason , Mark, Taylor ,
It leaves an extra comma which is incorrect. There should be no comma after the last item. My assumption is to use ng-if
to somehow check if there is another item coming next, if there is we display the comma but if there is not then we do not display the comma.
ng-repeat directive has few built-in special properties to get the context information. $last
is one of them which you need in this case.
<span ng-repeat="testing in names">
{{testing}}<span ng-if="!$last"> , </span>
</span>
See AngularJS ngRepeat docs for other properties
Example code here