Comment puis-je transmettre un paramètre à une fonction ng-click?
J'ai une fonction dans mon contrôleur qui se présente comme suit:
AngularJS:
$scope.toggleClass = function(class){
$scope.class = !$scope.class;
}
Je veux garder générale en passant le nom de la classe que je veux basculer:
<div class="myClass">stuff</div>
<div ng-click="toggleClass(myClass)"></div>
Mais myClass
n'est pas passé à l'angle de la fonction. Comment puis-je obtenir que cela fonctionne? Le code ci-dessus fonctionne si je l'écris comme ceci:
$scope.toggleClass = function(){
$scope.myClass = !$scope.myClass;
}
Mais, ce n'est évidemment pas en général. Je ne veux pas coder en dur dans le nom de la classe myClass
.
source d'informationauteur Stephanie Caldwell
Vous devez vous connecter pour publier un commentaire.
Dans la fonction
$scope.class
n'a rien à voir avec le paramètreclass
. C'est littéralement une propriété sur$scope
appeléclass
. Si vous souhaitez accéder à la propriété sur$scope
qui est identifié par la variableclass
vous aurez besoin d'utiliser le tableau de style accesseur:Noter que ce n'est pas Angulaire spécifique; c'est juste du fonctionnement de JavaScript. Prenons l'exemple suivant:
Aussi, le code
fait l'hypothèse qu'il y est une variable à votre portée, par exemple
$scope.myClass
qui renvoie une chaîne qui a le nom de la propriété que vous souhaitez accéder. Si vous littéralement voulez passer de la chaîne demyClass
vous auriez besoin deL'exemple n'est pas super clair qui vous êtes à la recherche pour (puisqu'il y a une classe nommée
myClass
sur le hautdiv
).