Angularjs 如何将ng repeat中的最后一项返回控制器

Angularjs 如何将ng repeat中的最后一项返回控制器,angularjs,Angularjs,我想运行一个字符串函数,删除最后一个span元素上的逗号 <p class="genres"> <span class="plabel">Genres</span>: <span class="genre_name" ng-repeat="genres in movie.genres" ng-class="{'last': $last}">{{genres.name}}, </span>

我想运行一个字符串函数,删除最后一个span元素上的逗号

<p class="genres">
    <span class="plabel">Genres</span>: 
    <span class="genre_name" ng-repeat="genres in movie.genres"
          ng-class="{'last': $last}">{{genres.name}}, 
    </span>
</p>

体裁: {{genres.name},

只需像这样添加

<span class="genre_name" ng-repeat="genres in movie.genres"
          ng-class="{'last': $last}">{{genres.name}}<label ng-if="!$last">,</label>
    </span>
{{genres.name},

您可以在插值内的三元运算符上使用
$last
布尔值:

{{genres.name}{{$last?'':','}}

$last(布尔):如果重复元素是迭代器中的最后一个元素,则为true

如果您想执行更多的字符串操作,也许还可以使用:(未测试)

然后在HTML中:

{{genres.name | addComma: $last}}

这只是一个示例,说明如何使用角度过滤器修改字符串并接收参数。

为什么要在标签中?跨距不是更适合吗?跨距内跨距。。。我添加了标签以区分事物。尽管@baaoThanks没有具体原因。这将适用于此,但我的应用程序的其他领域需要更多的字符串操作。我怎样才能得到跨度的文本并将其传递给控制器的函数?哦,你完全可以这样做。但也许你想退房。如果要在控制器上声明函数,可以在控制器的
$scope
上声明函数,然后通过
类型.name
作为参数调用该函数。@ThomasGrauer如果这对您有帮助,您是否将其标记为已接受的答案?谢谢
{{genres.name | addComma: $last}}