2017-10-06 5 views
0

Ich habe diesen Code untenBootstrap Akkordeon Umleiten, wenn eine Taste in akkordeon Überschrift geklickt wird

<uib-accordion close-others="true" class="my-table"> 
      <div class="accordion-group"> 
       <div class="column-header accordion-heading"> 
        <div class="accordion-toggle"> 
         <div class="accordion-cell">column1</div> 
         <div class="accordion-cell">column2</div> 
         <div class="accordion-cell">Remove</div> 
        </div> 
       </div> 
      </div> 
      <uib-accordion-group ng-repeat="row in parentRows"> 
       <uib-accordion-heading class="accordion-heading"> 
        <div ng-click="loadAccordionContent(row)" class="accordion-row"> 
         <div class="accordion-cell">{{row.col1Val }}</div> 
         <div class="accordion-cell">{{row.col2Val }}</div> 
         <div class="accordion-cell"> 
          <button type="button" ng-click="removeRow(row)" 
            class="btn btn-sm cat-remove-button"> 
           Remove 
           <i class="glyphicon glyphicon-remove"> 
           </i> 
          </button> 
         </div> 
        </div> 
       </uib-accordion-heading> 

       <div>Some dynamic content</div> 
      </uib-accordion-group> 
     </uib-accordion> 

Wenn ich diesen Code auf die Schaltfläche klicken wird Umleitung zu meiner App-Homepage. Warum sollte das sein? Ich erwarte, dass es removeRow (row) aufruft, das diese Zeile entfernt und parentRows aktualisiert.

Antwort

0

Ändern

removeRow(row) 

zu

removeRow(row, $event) 

und das Hinzufügen dieser Code unten am Anfang meiner Funktion dieses Problem gelöst

 if ($event) { 
     $event.stopPropagation(); 
     $event.preventDefault(); 
    }