Je suis nouveau à angularjs, et j'ai mis un clic NG sur un bouton radio généré par NG-REPEAT, et l'événement de clic refuse de tirer. Si j'utilise un simple onclick, Cela fonctionne cependant.
Ceci fonctionne, et je vois l'alerte: p> mais cela ne signifie pas: p> <div class="span2 left-justify"
ng-repeat="choice in physicalmode_choices">
<input type="radio"
name="physical_layer"
value="{{ choice.private }}"
ng-click="alert('foo')"
required
ng-model="$parent.networkoptions.physicalmode" />
<span ng-bind="choice.public"></span>
</div>
3 Réponses :
Lorsque vous appelez quelque chose à l'intérieur d'un clic NG, le service d'analyse évalue les expressions par rapport à la portée plutôt que l'objet Windows global. P>
Si vous vouliez faire une alerte à l'intérieur d'un clic NG, puis-je écrire une méthode sur la portée ou la portée des parents qui appelle à son tour l'alerte. P>
J'ai créé ce jsfiddle pour montrer comment ça marche.
http://jsfiddle.net/tm56a/ 1 / P>
<li ng-repeat="menu in menus" > <a ng-click="test(menu)">click me</a> </li>
Pour clarifier la réponse de Derekr.
quand angulaire voit p> il cherche p> qui est probable Pour être indéfini. p> Vous devez fournir une méthode de proxy sur la portée ou éventuellement même Rootscope. p> Par exemple: P> $rootScope.log = function(variable) {
console.log(variable);
};
$rootScope.alert = function(text) {
alert(text);
};
Envisagez de changer le titre de cette question, cela ne décrit pas le problème et sa réponse. Le même problème se produirait avec une directive ou une structure, non seulement celle-ci. Peut-être que quelque chose comme ng-clic ne reconnaît pas la fonction javascript natale i>