2014-07-25 10 views
6

Questo è il mio codice di controllo:Come impostare dinamico nome di variabile in Angularjs regolatore

var selectableFields = ["customerName", "customerAddress"]; 

angular.forEach(selectableFields, function(field, key) { 
var value = $.jStorage.get(field); //using jStore to get the values 
$scope.field=value; 

}); 

L'obiettivo è quello di essere in grado di accedere {{customerName}} e {{}} customerAddress nella vista. Qualcuno può dirmi qual è il modo corretto di farlo?

risposta

22

Utilizzare invece $scope[field] = value;.

Con $scope.field, si sta creando un nuovo attributo denominato field.

+4

+1, vorrei anche raccomandare all'OP di non aggiungere 'variabili dinamiche' direttamente all'oggetto scope. Invece, se si tratta di un modulo (ad esempio), avere '$ scope.form [campo] = valore;'. – jnthnjns

+0

Grazie mille, questo è quello che stavo cercando. :) – user727728

+0

Sto affrontando lo stesso problema ma non sono in grado di risolvere, puoi aiutarmi? – Sagar

Problemi correlati