2017-02-24 9 views
0

ng-repeatコマンドで表示されるオブジェクトの配列があります。 "delete"ボタンをクリックした後、number.toDeleteの値をクリックした配列の要素のインデックスに変更し、モーダルに渡す必要があります。ただし、すべての場合のnumber.toDeleteの値は未定義です。モーダルとngリピートの角削除要素

このモーダルウィンドウはng-repeatから切り離されています。私はまた標準のバージョンのブートストラップを使用します。

<div ng-if="myArray.length != 0" ng-repeat="element in myArray track by $index"> 
     <div class="well"> 
      <p><span class="policyRepeat">{{element.name}}</span> &nbsp({{element.amount}}</p> 
      <button class="Delete btn btn-sm btn-danger" data-toggle="modal" data-target="#deleteElement" ng-click="number.toDelete = $index">delete</button> 
     </div></div> 

     <!-- DELETE MODAL --> 
     <div class="modal fade" id="deleteElement" role="dialog"> 
       <div class="modal-dialog"> 
        <!-- Modal content--> 
        <div class="modal-content"> 
        <div class="modal-header"> 
         <button type="button" class="close" data-dismiss="modal">&times;</button> 
         <h4 class="modal-title text-center">Are your sure you want to delete this element?</h4> 
        </div> 
        <div class="modal-body"> 
         <div class="containter"> 
         Modal Body 
         </div> 
        </div> 
        <div class="modal-footer"> 
         <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> 
         <button type="button" class="btn btn-danger" data-dismiss="modal" ng-click="deleteElement(number.toDelete)">Delete</button> 
        </div> 
        </div> 
       </div> 
       </div> 

答えて

0

$scope.deleteElement = function(element) { 
    $scope.myArray.splice($scope.myArray.indexOf(element), 1); 
}; 
このdeleteメソッドを追加し、あなたの角度コントローラでこの

<button type="button" class="btn btn-danger" data-dismiss="modal" ng-click="deleteElement(element)">Delete</button> 

にあなたの削除BTNを変更