2016-06-16 35 views
0

它可能看起來微不足道,但如何一次選擇一個AngularJS 1.x:如何一次突出顯示活動菜單項(不是倍數)?

當我點擊其他項目,一項目應把假只有當前項目應該選擇。 這是working plnkrhttps://plnkr.co/edit/cHDwdO3ioZLf0NyfOyEr?p=preview謝謝。

<section ng-controller="DemoController"> 
<div ng-repeat="item in list" ng-click="selectItem(item)"> 

    <span ng-class="{'active' : item.selected }">{{item.name}}</span> 

</div> 

$scope.list = [ 
{ 
    name: 'Item 1', 
    selected: true 
}, 
{ 
    name: 'Item 2', 
    selected: false 
}, 
{ 
    name: 'Item 3', 
    selected: false 
}]; 


$scope.selectItem = function(item) { 
    item.selected = !item.selected; 
}; 

回答

0

替換該功能

$scope.selectItem = function(item) { 
    angular.forEach($scope.list,function(value){ 
     if(value.name==item.name){ 
     value.selected = true; 
     } else { 
     value.selected = false; 
     } 
    }); 
    }; 
+0

太棒了!我很直接!謝謝! –

+0

請標記爲正確。 –