2013-03-28 6 views
6

Gibt es sowieso den ng-repeat $ Index an den Wert einer ng-Modell-Direktive anzuhängen?

<div class="row" ng-repeat="item in GiantList"> 
    <input type="text" value="" ng-model="saveData.MyProperty+[$index+1]"> 
</div> 

Idealerweise würde dies bedeuten, dass:

$ scope.saveData = [{ "MyProperty1": "Bob"}, { "MyProperty2": "Sam"}, { "MyProperty3" : "Chris"}]

Ich habe jede syntaktische Kombination ausprobiert, die mir ohne Erfolg einfällt.

Vielen Dank!

+0

Ich bin nicht sicher, dass das, was du willst klar sein. Sie möchten den Freund # ($ index) von saveData [$ index] bekommen? – Galdo

+1

'ng-model =" saveData [item.Name + $ index] 'scheint zu funktionieren (aber nicht' [item.Name + $ index + 1] ') –

+0

item.Name + ($ index + 1) – Galdo

Antwort

11

Versuchen

<input type="text" value="" ng-model="saveData['MyProperty'+($index+1)]"> 

Demo: Fiddle

+0

Das ist es! Viele Danke - du hast das Rätsel gelöst. So viele Möglichkeiten mit {{}}, [] und '' - Ich kann nie herausfinden, welche zu verwenden. Danke! –

+0

Es ist seltsam, dass diese Antwort funktioniert, weil Ihre saveData ist ein Array und Sie verwenden es wie ein Objekt (Sie suchen direkt nach einer Eigenschaft, ohne zuerst ein Objekt im Array auszuwählen ... Sind Sie sicher, dass die saveData in Ihrer Frage der in Ihrer Frage ähnelt? – Galdo

+0

@Gald o Sie haben Recht - diese Demo, die ich eingegeben habe, ist nicht korrekt. Ich habe im Grunde versucht, die syntaktische Magie herauszufinden, um den Wert des ng-Modellfeldes mit String-Verkettungen manipulieren zu können. –

2

Ich bin mir nicht sicher, ob ich Ihre Frage verstanden, aber versuchen Sie dies:

http://plnkr.co/edit/3qClmN

saved[$index]['friend'+($index+1)] 
+0

Vielen Dank Galdo! –

+0

Viel Glück mit Ihrem Projekt! – Galdo

Verwandte Themen