Créer des variables de portée dynamiques dans la boucle interne AngularJs
Je suis nouvelle Angular.js et suis en train de créer de la dynamique de la portée des variables dans AngularJs à l'intérieur d'une Boucle for. C'est quelque chose comme ci-dessous:
$scope.lists=[{listName:'list1'},{listName:'list2'}];
for(var i=0;i<$scope.lists.length;i++){
var listName = $scope.lists[i].listName;
listName = $parse(listName);
listName.assign($scope,[]);
$scope.$apply();
}
Le code ci-dessus renvoie une erreur en disant: $digest
déjà en cours.
Le code fonctionne bien une fois utilisé sans boucle, juste pour l'un comme dans:
Réglage dynamique de la portée des variables dans AngularJs - portée.<chaîne_quelconque>
En fin de compte je suis à la recherche d' $scope.list1=[]
et $scope.list2=[]
que 2 tableaux distincts.
Tous les fils serait génial. Merci.
source d'informationauteur Vaibhav Magon
Vous devez vous connecter pour publier un commentaire.
Vous êtes déjà dans le contrôleur et angulaire de la portée. Donc pas besoin de déclencher le digérer boucle à l'aide de
$scope.$apply()
. Même si vous devez vous devez vérifier la$$phase
et ensuite appliquer.Mais pour votre scénario, il n'est pas nécessaire à tous les
Vous n'avez pas besoin
$parse
etassign
ici, il suffit d'utiliser support de la notation pour accéder à la propriété de l'objet (parce que$scope
n'est rien, mais juste un objet) avec le nom de la variable: