Comment puis-je définir le focus à une autre entrée?

J'ai besoin d'être en mesure de passer le focus à un élément d'entrée lorsqu'un certain événement se produit. Comment dois-je faire Angulaire 2?

Par exemple:

<input (keyUp)="processKeyUp($event)"/>
<input (focusme)="alert('i am focused')"/>

Je veux me concentrer la 2ème zone de saisie lorsqu'une touche est enfoncée dans la première. Je pense que j'ai besoin d'utiliser un événement personnalisé (focusme dans l'extrait de code), mais je ne sais pas où et comment déclarer et utiliser un @Directive annotation, ou inclure sa définition dans un composant en quelque sorte. En bref, je suis perplexe.

Mise à JOUR

Oublié de mentionner, je sais que je peux le faire en utilisant les variables locales dans le code html, mais je veux être en mesure de le faire à partir de la composante, et je veux être capable de faire une logique complexe lors de la cuisson de la focusme événement de manière à ce que les contrôles à l'écoute de ce qu'il peut déterminer s'il est signifié pour eux ou pas.
Merci!

  • Vous ne pouvez pas étendre l'élément d'entrée avec un événement personnalisé, vous devez créer votre propre élément qui encapsule un contrôle d'entrée qui peut mettre le feu à la focusme événement, c'est à dire <ma-custom-élément (focusme)="..."/>
  • Ok, comment puis-je définir le focus à l'élément d'entrée à l'intérieur de mon composant personnalisé une fois que je l'événement? Pouvez-vous donner un exemple, dans une réponse?
  • Voir stackoverflow.com/a/34503163/215945 pour un couple de différentes manières/implémentations pour la mise au point sur un autre élément.
InformationsquelleAutor Aviad P. | 2015-07-23