2013-03-28 9 views
6

Esiste comunque l'aggiunta dell'indice ng-repeat $ al valore di una direttiva ng-model?

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

Idealmente, questo significherebbe che:

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

Ho provato ogni combinazione sintattica a cui riesco a pensare inutilmente.

Grazie mille!

+0

non sono sicuro che ciò che vuoi è chiaro. Vuoi ottenere l'amico # ($ indice) di saveData [$ index]? – Galdo

+1

'ng-model =" saveData [item.Name + $ indice] 'sembra funzionare (ma non' [item.Name + $ indice + 1] ') –

+0

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

risposta

11

Prova

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

Demo: Fiddle

+0

Questo è tutto! grazie- hai risolto l'indovinello.Tali scelte con {{}}, [] e '' - Non riesco mai a capire quali usare.Grazie !!!! –

+0

È strano che questa risposta funzioni perché il tuo saveData è un array e lo usi come un oggetto (cerchi direttamente una proprietà senza prima selezionare un oggetto nell'array ... sei sicuro che il saveData nella tua domanda è simile a quello nella tua applicazione? – Galdo

+0

@Gald o Hai ragione: questa demo che ho digitato non è corretta. Fondamentalmente stavo cercando di capire la magia sintattica per poter manipolare il valore del campo del modello ng usando concatenazioni di stringhe. –

2

io non sono sicuro di aver capito la tua domanda, ma provo questo:

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

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

Molte grazie Galdo! –

+0

Buona fortuna con il tuo progetto! – Galdo

Problemi correlati