2017-08-08 8 views
0

In erster Linie, hallo! Ich bin neu hier.In Bezug auf AngularJS und datable Kombination

Ich habe vor kurzem AngularJS und Webentwicklung gelernt, während ich arbeite, also entschuldige ich mich für meine Neuigkeit. Ich war auf eine Art Mauer gestoßen, die die Integration von Daten mit AngularJS betrifft. Hier ist die Struktur davon:

   <table class="datatable table table-hover"> 
       <thead> 
        <tr> 
         <th ng-repeat="column in columns">   
          {{column.name}} 
         </th> 
        </tr> 
       </thead> 
       <tbody> 
        <tr ng-repeat="form in forms | filter : {userName : activeFilter['user name']|rangeDate:activeFilter['range begin']:activeFilter['range end']:'birthDate'"> 
         <td class="row-md-1"> 
          <span ng-model="approvedForm.userName"> 
           {{approvedForm.userName}} 
          </span> 
         </td> 
         <td class="row-md-1"> 
          <span ng-model="approvedForm.birthDate"> 
           {{approvedForm.birthDate}} 
          </span> 
         </td> 
        </tr> 
       </tbody> 
      </table> 

Ich habe zu erwähnen, ich Verwendung der Filter auf der Client-Seite zu machen, damit sie die richtigen Zeilen wählen. Das Problem bestand darin, dass beim Filtern einiger Benutzer und der Zeilensortierung mit Datentabelle die Daten in der Ansicht mysteriös dupliziert wurden und ich sie nicht löschen konnte. Um es zu lösen, musste ich die ng-Repeat-Filter herausnehmen und mit datatabler Filterunterstützung filtern. Weiß jemand, was dieses Verhalten verursacht haben könnte?

Btw Ich bin mit AngularJS 1.x und Datatable 1.10

Dank!

Antwort

0

Ihre Daten duplizieren, weil Sie es zweimal als Attribut des HTML-Elements und mit Lenker binden. Entfernen Sie entweder ng-model="..." Attribut oder {{...}} in Ihrem Code, so dass es würde wie folgt aussehen:

<span> 
    {{approvedForm.userName}} 
</span> 

als @Shaishab Roy ng-model erwähnt soll nicht mit <span> arbeiten, so versuchen ng-bind statt:

<span ng-bind="approvedForm.userName"></span> 
+1

'ng- model = "" 'funktioniert nicht für' span' tag. Sie sollten 'ng-bind = "" ' –

+0

hm ... verwenden, dann bin ich verwirrt, wie Daten dupliziert wurden, wenn' ng-model' nicht dort arbeiten soll = \ – blewherself

+0

Ich werde diesen Rat nehmen, danke! Wie ich schon sagte, es war irgendwie komisch, weil es nur nach dem Filtern mit ng-repeat-Filtern und dem Sortieren von Zeilen mit Datentabellen passieren würde. Ich nehme an, dass es etwas mit den Filtern zu tun hatte, denn sobald ich sie herausnahm und fnfilter (von Datatable) verwendete, war das Problem gelöst. –