AngularJS ng-option 获取索引
AngularJS ng-option get index
我在我正在处理的项目中创建一个播放列表选项,我正在尝试获取列表中所有视频的下拉菜单。
这很容易
<select ng-options="vid.Id for vid in playList.Videos track by video.Id" ng-model="selected" class="browser-default"></select>
但这显示了 Id 的下拉列表,但现在我希望它显示列表中的位置 +1;
所以当播放视频 5/15 时,下拉菜单应该显示 1 到 15(所以不是 0 到 14)并且应该选择 5。
知道如何实现这个吗?
如果您想将当前视频的索引显示为选项文本,那么这个 ngOptions 表达式应该可以解决问题:
ng-options="vid as playList.Videos.indexOf(vid)+1 for vid in playList.Videos track by video.Id"
这里关键是可以在Videos
数组上使用indexOf
方法计算当前视频索引,然后加上1
.
您可以通过数组的索引进行追踪。
$index 设置为项目索引或键。
<select ng-options="vid as ($index + 1) for vid in playList.Videos track by $index" ng-model="selected" class="browser-default"></select>
我在我正在处理的项目中创建一个播放列表选项,我正在尝试获取列表中所有视频的下拉菜单。
这很容易
<select ng-options="vid.Id for vid in playList.Videos track by video.Id" ng-model="selected" class="browser-default"></select>
但这显示了 Id 的下拉列表,但现在我希望它显示列表中的位置 +1;
所以当播放视频 5/15 时,下拉菜单应该显示 1 到 15(所以不是 0 到 14)并且应该选择 5。
知道如何实现这个吗?
如果您想将当前视频的索引显示为选项文本,那么这个 ngOptions 表达式应该可以解决问题:
ng-options="vid as playList.Videos.indexOf(vid)+1 for vid in playList.Videos track by video.Id"
这里关键是可以在Videos
数组上使用indexOf
方法计算当前视频索引,然后加上1
.
您可以通过数组的索引进行追踪。 $index 设置为项目索引或键。
<select ng-options="vid as ($index + 1) for vid in playList.Videos track by $index" ng-model="selected" class="browser-default"></select>