2016-08-29 25 views
0

我使用ng-repeat顯示多維數組中的元素切換的click事件...

<div class="form-container" ng-repeat="formblock in forms"> 
    <div ng-click="showResults($index)" ng-if="repeat == true" class="drop" type="button">{{ formblock[0].form_name }}</div> 
    <div ng-hide="results[$index]" class="form-block" ng-repeat="form in formblock"> 
     <div class="optionWrap"> 
      <div class="formURL">{{ form.url }}</div> 
      <div class="formCount">{{ form.count }}</div> 
      <div class="formSubmit">{{ form.submit }}</div> 
     </div> 
    </div> 
</div> 

那麼上面的代碼的作用是顯示多個列表,以及每個名單的標題是{formblock[0].form_name}。點擊該標題時,我想切換每個formblock的顯示,但我想保持標題可見。

上面的代碼無法正常工作,點擊時只隱藏了一個組件formblock,即隱藏了form。此外,它隱藏了所有列表,我希望ng-click僅在與功能相同的容器中切換元素。

我該如何做到這一點?

這是我的控制器功能ng-click

$scope.showResults = function (idx) { 
    $scope.results[idx] = !$scope.results[idx]; 
} 

回答

0

您可以在NG-重複的項目傳遞給函數。例如:

<div ng-repeat"item in list"> 
    <a href ng-click="doSomethingWith(item)">...</a> 
</div> 

$scope.doSomethingWith = function (item) { 
    console.log('Fabulous! I received:', item); 
}; 

在您的具體情況:

<div class="form-container" ng-repeat="formblock in forms"> 
    <div ng-click="showResults(formblock)" ng-if="repeat == true" class="drop" type="button">{{ formblock[0].form_name }}</div> 
    <div ng-hide="! formblock.showResults " class="form-block" ng-repeat="form in formblock"> 
     ... 
    </div> 
</div> 

$scope.showResults = function (formBlock) { 
    formBlock.showResults = true; 
}; 
相關問題