2013-04-22 54 views
5

例如,$指数:获得所选选项的角

<select ng-model="selectedCategory" ng-options="category as category.title for category in categories"></select> 

显然,这是行不通的:

<button ng-click="removeCategory($index)">remove</button> 

怎能$索引如果不能在中继访问?

回答

7

你不应该需要保持指数的跟踪,只需删除从removeCategory功能分类模型selectedCategory:

你的控制器可能是这样的JSFiddle

app.controller("myCtrl", ['$scope', function($scope){ 
    $scope.model = { 
    selectedCategory: {}, 
    categories: [ 
     {title: "Cat1"}, 
     {title: "Cat2"} 
    ] 
    } 
    //init 
    $scope.model.selectedCategory = $scope.model.categories[0]; 

    $scope.removeCategory = function(){ 
    var ind = $scope.model.categories.indexOf($scope.model.selectedCategory); 
    $scope.model.categories.splice(ind, 1); 
    $scope.model.selectedCategory = $scope.model.categories[0]; 
    } 
}])