Passage d'arguments à ngChange cas d'appel à partir de l'intérieur de la directive

J'ai une directive qui accepte un ng-change attribut:

<radio-buttons options="optionsList" 
               ng-model="myModel" 
               ng-change="myCallback($event)"></radio-buttons>

J'ai défini une fonction dans mon contrôleur, myCallback, qui ressemble à ceci:

$scope.myCallback = function(e) {
    console.log("Callback from controller");   
    console.log(e);
}

La fonction suivante, sélectionnez existe au sein de mon radioButton directive. J'ai besoin de définir quand le ngChange de rappel est exécutée à l'intérieur de mon directive dans la fonction de sélection:

function select(scope, val) {
    if (!scope.disabled && scope.selectedValue != val) {
        scope.selectedValue = val;
        scope.model = val;

        scope.callback.call();
    }
}

Le problème que j'ai est l'argument $event dans myCallback n'est pas passé quand j'execute myCallback à l'intérieur de la select fonction de mon directive.

Violon: http://jsfiddle.net/dkrotts/BtrZH/7/ Mise À Jour: http://jsfiddle.net/dkrotts/BtrZH/8/

Ce que je fais mal?

Contrairement à ngcliquez et ngMouse, ng-modification n'a pas d'offrir un objet d'événement. Que voulez-vous précisément la directive de le faire? Vous pouvez bind() pour événements (comme le changement ou pression de touche) dans votre directive de la fonction de lien pour être informé des changements et des événements.

OriginalL'auteur Dustin | 2013-02-05