2016-05-14 8 views
1

Ich habe folgende Struktur Eltern können mehrere Kinder haben und Kinder werden ein Ziel haben. Ich muss dies in einer bearbeitbaren Tabelle zeigen, aber wenn ich das Modell innerhalb der Eingabe von Ziel binde, aktualisiert es auch alle anderen ausgewählten Kinderziele.ng Modell innerhalb ng-Wiederholung von ng-repeat-start

hier ist code

wählen gleiche Kinder aus zwei Reihen von Optionen, und bearbeiten Sie das Ziel, ein Kind es auch in anderer Reihe widerspiegelt.

<tbody> 
     <tr ng-repeat-start="parent in records" ng-class-even="'striped'"> 
      <!--KPI--> 
      <td><strong>{{parent.name}}</strong></td> 
      <!-- controls --> 
      <td tool-tips class="inputs"> 
       <select 
         ng-model="parent.childrens" 
         ng-options="item as item.name for item in controlTypes" 
         multiple='multiple'> 
       </select> 
      </td> 
      <!-- Controls objective--> 
      <td colspan="1"/> 
      </td> 
     </tr> 
     <tr ng-if="parent.childrens.length>0" 
      ng-repeat="child in parent.childrens"> 
      <td name="process" colspan="2" style="word-wrap:break-all;" align="right">{{child.name}} 
      </td> 
      <!-- Controls objective--> 
      <td> 
       <input type="text" class="ultra-short" ng-model="child.objective" 
         maxlength="200"/> 
      </td> 

     </tr> 
     <tr ng-repeat-end></tr> 
     </tbody> 

Jede Hilfe bitte.

Antwort

1

Soweit ich sagen kann, arbeite ich nicht mit einer solchen Struktur, weil Sie nur mit Referenzen arbeiten. Wenn Sie einige Optionen objective Eigenschaft ändern, ändern Sie es tatsächlich überall in der gleichen Option, weil Sie mit Verweis arbeiten.

UPDATE:
One way zu handhaben diese

+0

Was ist der richtige Weg, um dieses Szenario zu lösen? Ich habe @Nikhilish K V Lösung verwendet. Ich weiß nicht, was $ rootIndex ist, aber es erzeugt eine undefinierte Property im Elternteil und ich kann mit paren [parentIndex] .undefined.childrens [index] .objective auf die children zugreifen. Auf jeden Fall ist es keine Lösung, sondern im Moment dringend. – veshu

+0

Während es (2-way binding) mit verschachtelten ng-repeat funktioniert, ist es das Problem mit ng-repeat-start? – veshu

0

Wenn Sie das Modell für jede Iteration der ng-repeat anders sein wollen:

<div ng-repeat="parent in parents"> 
    <select 
    ng-model="vm.model.parent.item" 
    ng-options="item as item.name for item in controlTypes" 
    multiple="multiple"> 
    </select> 
</div> 

Jetzt haben Sie ein anderes Modell für jede Iteration, ist es das, was Sie zu tun gesucht haben?

+0

Haben Sie die Optionen in zwei Reihen ausgewählt und versuchen, das Ziel zu bearbeiten. Problem ist nicht ausgewählt, ich möchte das Ziel der Kinder in der corresponding Elternteil festgelegt werden – veshu