【问题标题】:How to make unique ng-model in ng-repeat如何在 ng-repeat 中制作独特的 ng-model
【发布时间】:2017-09-23 19:19:43
【问题描述】:

我想让每个test(ng-model) 像test1test2 在下面的代码中都是唯一的..

<div ng-repeat="item in Array">
  <div>{{item.Name}}</div>
  <a ng-click="openClose(test)>show/hide</a>
  <div ng-show="test">{{item.Des}}</div>
</div>

$scope.openClose = function (modalName) {
  $scope[modalName] = $scope[modalName] ? false : true;
}

【问题讨论】:

  • 抱歉,我们无法理解您的要求。请仔细写下你想要达到的目标。谢谢
  • 你检查答案了吗?有帮助吗?
  • 如果真的对你有帮助,请标记答案。

标签: angularjs variables angularjs-scope angularjs-ng-repeat


【解决方案1】:

您可以使用在使用ng-repeat 时为每个元素获得的$index 值来维护show / hide

angular.module('app',[]).controller('mainCtrl', function($scope){
   
    $scope.Array = [{Name:'abc'},{Name:'zzz'},{Name:'yyy'},{Name:'xxx'}];
    
    $scope.openClose = function (index) {
      if($scope.selectedValue == index){
        $scope.selectedValue = -1;
      }else{
      	 $scope.selectedValue = index;
      }
    }
    
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app='app' ng-controller='mainCtrl'>
   <div ng-repeat="item in Array">
     <div>{{item.Name}}</div>
      <a ng-click="openClose($index)">show/hide</a>
     <div ng-show='$index === selectedValue'>Hide Show content</div>
  </div>
</div>

【讨论】:

    猜你喜欢
    • 2017-09-08
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 2016-09-12
    • 1970-01-01
    相关资源
    最近更新 更多