AngularJS:如何在ng repeat中获取索引值?
我是新来的angularjs,我正在尝试获取AngularJS:如何在ng repeat中获取索引值?,angularjs,Angularjs,我是新来的angularjs,我正在尝试获取ng repeat中的索引值,这意味着我想将md选项值设置为我的代码的索引值: <md-input-container class="md-block" flex-gt-sm> <label>Filterable Columns</label> <md-select ng-model="visualization.filterable_columns" ng-change="drawFi
ng repeat
中的索引值,这意味着我想将md选项
值设置为我的代码的索引值:
<md-input-container class="md-block" flex-gt-sm>
<label>Filterable Columns</label>
<md-select ng-model="visualization.filterable_columns" ng-change="drawFilters()" multiple="true" ng-init="index = 1">
<md-option ng-repeat="filterable_column in vm.filterable_columns" value="{{index++}}">
{{filterable_column.label}
</md-option>
</md-select>
</md-input-container>
可过滤柱
{{filterable_column.label}
有人能帮我吗?你可以这样试试:
<md-input-container class="md-block" flex-gt-sm>
<label>Filterable Columns</label>
<md-select ng-model="visualization.filterable_columns" ng-change="drawFilters()" multiple="true">
<md-option ng-repeat="filterable_column in vm.filterable_columns" ng-value="{{$index}}">
{{filterable_column.label}}
</md-option>
</md-select>
</md-input-container>
可过滤柱
{{filterable_column.label}
这是帮助函数
$scope.getIndexOf=function(arr, val, prop) {
var l = arr.length,
k = 0;
for (k = 0; k < l; k = k + 1) {
if (arr[k][prop] === val) {
return k;
}
}
return false;
};
在md选项的ng change事件中调用此函数
<md-select ng-model="visualization.filterable_columns" ng-change="drawFilters(); getIndexOf(vm.filterable_columns, {{filterable_column.label}}, filterable_column.label) " multiple="true" ng-init="index = 1">
<md-option ng-repeat="filterable_column in vm.filterable_columns" value="{{index++}}">
{{filterable_column.label}}
</md-option>
</md-select>
{{filterable_column.label}
将按$index跟踪添加到您的ng repeat
<md-input-container class="md-block" flex-gt-sm>
<label>Filterable Columns</label>
<md-select ng-model="visualization.filterable_columns" ng-change="drawFilters()" multiple="true">
<md-option ng-repeat="filterable_column in vm.filterable_columns track by $index" ng-value="{{$index}}">
{{filterable_column.label}}
</md-option>
</md-select>
</md-input-container>
可过滤柱
{{filterable_column.label}
警告:使用$index
可能是不可取的,q.v..还有其他方法吗..请!!
<md-input-container class="md-block" flex-gt-sm>
<label>Filterable Columns</label>
<md-select ng-model="visualization.filterable_columns" ng-change="drawFilters()" multiple="true">
<md-option ng-repeat="filterable_column in vm.filterable_columns track by $index" ng-value="{{$index}}">
{{filterable_column.label}}
</md-option>
</md-select>
</md-input-container>