仅显示 AngularJS 中的特定 div

Showing only a particular div in AngularJS

所以我有 2 个 ng-repeats 像这样:

<div ng-repeat = "car in cars track by car" >
<div ng-repeat = "driver in drivers track by driver">

<div>
 <label>  {{driver}}    </label>
</div>

   <div>    <!-- div 3 -->
    {{car}} {{driver}}
   </div>

</div>
</div>

我希望当我点击某个标签时,最里面的 div (div 3) 只显示汽车和 driver 的特定组合。现在,当我单击标签时,它实际上会影响所有 div。例如,如果我单击 driver 1,那么它会显示所有具有 driver 1 的 divs3。基本上它会影响每辆车的所有 drivers 1。我不想使用 href。我试图给 div 3 一个特定的 id,并在我的控制器中激活那个特定的 div;但无济于事。有输入吗?

详情: 基本上,布局将是 div 的 x 个,x 代表汽车的数量。所以假设我有 7 辆车。我将有 7 divs 一个在另一个之上。每个 div 将有 4 个标签(如果我们有 4 个 driver)。所以 7divs 包含 4 个标签。 所以这 7 个 div 中的每一个都包含 4 个标签。

现在,当我单击一个 driver 标签时,假设 div 1(6 个中的 1 个);我想展示那个特定的内部 div3 (div1.div3) 而不展示 driver 1 的其他 6 divs。所以我想要能够对这辆车说,driver 1 有或没有。但是现在,它将向我显示所有汽车(7 divs)的 driver 1 状态。它显示了所有内部 divs3.

<script>
$scope.cars = [ 'car0','car1', 'car2', 'car3', 'car4', 'car5', 'car6'];
$scope.drivers = [ 'driver0', 'driver1', 'driver2' , 'driver3']
</script>


<div0>
   'driver0'  'driver1' 'driver2' 'driver3'  
      <div 3>
      <div3>

</div0>
<div1>
   'driver0'  'driver1' 'driver2' 'driver3'  
    <div 3>
    <div3>
</div1>
<div2>
   'driver0'  'driver1' 'driver2' 'driver3'  
    <div 3>
    <div3>
</div2>
<div3>
   'driver0'  'driver1' 'driver2' 'driver3'  
    <div 3>
    <div3>
</div3>
<div4>
   'driver0'  'driver1' 'driver2' 'driver3'  
     <div 3>
     <div3>
</div4>
<div5>
   'driver0'  'driver1' 'driver2' 'driver3'  
    <div 3>
    <div3>
</div5>
<div6>
   'driver0'  'driver1' 'driver2' 'driver3'  
   <div 3>
   <div3>
</div6>


`div0`
`driver0 driver1 driver3 ....`
` -->shared space for content for drivers <---`
`div1`
`driver0 driver1 driver3 ....`
` -->shared space for content for drivers <---`

angular.module('app', []).controller('ctrl', function($scope) {
  $scope.cars = ['car0', 'car1', 'car2', 'car3', 'car4', 'car5', 'car6'];
  $scope.drivers = ['driver0', 'driver1', 'driver2', 'driver3'];  
})
.driver {  
  cursor: pointer;
  margin-left: 15px;    
}
.content {
  margin-left: 30px;    
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js">
</script>

<div ng-app='app' ng-controller='ctrl'>
  <div ng-repeat='car in cars' ng-init='temp={selected:""}'>
    {{car}}
    <div class='driver' ng-repeat='driver in drivers'>
      <span ng-click='temp.selected=driver'>{{driver}}</span>      
    </div>
    <div class='content' ng-show='temp.selected'>
        Some content for {{car}}-{{temp.selected}}
      </div>
    <br>
  </div>  
</div>