J'ai cherché et essayé de nombreuses options de type ng-xxxx mais je n'ai pas trouvé celle-là. Je veux juste appeler une fonction dans le contrôleur lorsque le bouton radio est sélectionné.
Cela pourrait donc être similaire à ce qui suit. (Bien sûr, le code ci-dessous ne fonctionne pas)
<input type="radio" ng-model="value" value="one" ng-click="checkStuff()"/>
Existe-t-il un moyen de réaliser ce que je veux?
value
est assez déroutant.ng-change
spécifiquement le single ... mais vous pouvez éviter plusieurs gestionnaires d'événements (comme avoir unng-change=...
on everyinput
) en utilisant la méthode 2: chaque entrée nécessite unng-model
et ensuite vous avez une seulewatch
écoute pour le change ...Doit utiliser ngChange au lieu de ngClick si la source de déclenchement ne provient pas d'un clic.
Le dessous est-il ce que vous voulez? qu'est-ce qui ne fonctionne pas exactement dans votre cas?
la source
Dans les nouvelles versions d'angular (j'utilise 1.3), vous pouvez fondamentalement définir le modèle et la valeur et la double liaison font tout le travail, cet exemple fonctionne comme un charme:
la source
Pour des valeurs dynamiques!
dans le contrôleur
la source
Une autre approche consiste à utiliser
Object.defineProperty
pour définirvalue
comme propriété de setter getter dans la portée du contrôleur, puis chaque modification de la propriété value déclenchera une fonction spécifiée dans le setter:Le fichier HTML:
Le fichier javascript:
voir ce plunker pour l'implémentation
la source
je préfère utiliser ng-value avec ng-if, [ng-value] gérera les changements de déclenchement
la source
la source