ng-click dans le template interne de la directive ne fournit pas la fonctionnalité
ng-click
n'est pas d'alerte. Lorsque le modèle interne de la directive est cliqué boîte d'alerte n'est pas montré.
Le violon, le lien est ici: http://jsfiddle.net/NNDhX/
source d'informationauteur user1966260
Vous devez vous connecter pour publier un commentaire.
Votre directive a son propre isolé portée. Si la fonction "salut" devrait être à l'intérieur de la directive. Si vous souhaitez transmettre votre contrôleur de fonction que vous devriez faire la liaison, comme
scope: { ..., hi: '&' }
et puis<you-directive hi='hi' ..>
. Voici un lien vers de la documentation à ce sujet: La compréhension de Transclusion et Étendues.Donc, juste de l'ajouter en fonction de liaison est assez:
Ici est mis à jour de violon: http://jsfiddle.net/GwBAh/
Je ne sais pas si c'est le meilleur chemin, mais vous pouvez utiliser $parent dans la directive pour accéder à portée parent.
Voici le lien de violon exemple: http://jsfiddle.net/EKDse/
L'idée d'isoler les étendues est exactement pour éviter le "partage" des choses entre le parent<->enfant étendues, en quelque sorte de les empêcher d'être exposé et (involontairement) modifié par d'autres directives/contrôleurs.
Si vous voulez vraiment éviter de les isoler de la portée et de la part de la mère de la portée de l'essayez ceci:
Commencer par enlever la directive, la définition de la portée (en commentaire ci-dessous):
Puis placer les attributs (
attrs
) de la directive élément sur les directives de portée:Remarque: ce faisant, l'
attrs
propriété seront également disponibles sur le parent (Ctrl3).Et enfin définir le titre basé sur le
scope.attrs
jsFiddle: http://jsfiddle.net/NNDhX/1/
Contrôleur de fonction à l'intérieur d'une directive doit être appelé au sein de la transcluded bloc. À l'aide de la méthode de contrôleur à l'intérieur du modèle de la directive faire de votre directive en fonction de contrôleur et est un indésirable à la conception par son depedencies (directive-externe de contrôleur).
Dans votre échantillon traslate la
<a>
morceau de code à l'transcluded bloc. Cette directive plus isolé et a résolu le problème: