AngularJS:如何在ng repeat中获取索引值?

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

我是新来的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="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>