2017-09-22 5 views
0

Je suis assez nouveau pour js angulaire. Y a-t-il un moyen de faire communiquer deux directives entre elles? Je l'ai essayé d'utiliserComment puis-je faire communiquer deux directives entre elles?

require: "^mydirective" 

et pour une raison étrange qui ne fonctionne pas

+0

s'il vous plaît poster plus de détails au sujet de votre problème –

+1

double possible de [communication AngularJS entre les directives] (https://stackoverflow.com/questions/25274563/angularjs-communication-between-directives) –

Répondre

3

A propos des conseils de directive:

[?][^][directiveName].

^ est utilisé pour spécifier quel contrôleur de directive doit être utilisé ("inherited from"). Par exemple, une directive <column-item> doit trouver le contrôleur de la directive parent <crtl-grid>.

ligne inférieure ^ indique angulaire pour rechercher le DOM pour trouver la directive parent.

? = indique que la directive est facultative et angulaire ne déclenchera pas d'exception si elle n'est pas trouvée.

+0

Pouvez-vous jeter un oeil à ce codepen et dites-moi ce que je fais mal? https://codepen.io/Brushel/pen/pWbzqM?editors=1011 – ThomasBrushel

+0

@ThomasBrushel a essayé de répondre à votre commentaire sur le post précédent, mais a trouvé que le codepen a changé (c'est pourquoi il vaut mieux inclure tout le code lié dans le post et non sur des ressources externes), en ce moment le problème est que vous n'avez pas 'controller' (mais vous en avez besoin pour exposer une API à d'autres directives) dans votre directive' atomHeading', mais vous avez 'link' - c'est causant l'erreur dans la console 'Controller 'atomHeading', requis par la directive 'truncator', ne peut être trouvé!'. –

+0

@StanislavKvitash Le stylo est juste ici. Je l'ai tronqué. J'ai juste besoin d'obtenir les liens pour montrer plus de texte et ne pas montrer si maxCharacters n'a pas été atteint https://codepen.io/Brushel/pen/LzRdej J'ai fourchu ceci donc j'en aurai une copie – ThomasBrushel