2013-06-26 11 views
24

Desidero ripetere le variabili $ scope con un ciclo for come questo. In questo esempio l'oggetto $ scope include un oggetto account includendo 5 oggetti, i cui nomi sono numeri da 1 a 5. Ciascuno di essi ha un nome.

for(var i = 1; i < 5; i++){ 
    $('#name').val($scope.accounts.i.name); 
} 

Il problema:$ scope.accounts.i è definito perché non conta come un varibale all'interno della portata variabile$. Conta come la lettera i, quindi non vedo alcuna possibilità di scorrere un oscilloscopio con un ciclo for. Quando uso "" attorno alla variabile $ scope verrà semplicemente visualizzato come html normale e l'angolare non viene interpretato.

+1

così account è un array contenente 5 oggetti di cinque coppie di valori chiave? –

+0

account è una matrice con 5 oggetti e diverse coppie di valori chiave. Ma ovviamente ogni account ha lo stesso numero di coppie. ;) – Sorcerer

+0

possibile duplicato di [Loop through array in JavaScript] (http://stackoverflow.com/questions/3010840/loop-through-array-in-javascript) – Stewie

risposta

44

modo angolare di fare sopra è

$scope.accounts=[{name:"123"},{name:"124"},{name:"125"}] 

      angular.forEach($scope.accounts,function(value,index){ 
       alert(value.name); 
      }) 
1

Se i conti è un array, è possibile utilizzare l'indicizzatore matrice:

for(var i = 1; i < 5; i++){ 
    $('#name').val($scope.accounts[i].name); 
} 
Problemi correlati