Comment puis-je obtenir de l'étendue actuelle dom-élément dans AngularJS contrôleur?
J'ai une liste de outerItems. À l'intérieur de chaque outerItem, j'ai une liste de innerItems. Ils sont dynamiquement triés.
Lorsque le curseur de la souris les points à l'un des innerItems, j'ai pour afficher la fenêtre pop-up juste au-dessus de innerItem élément.
Popup div est le corps de l'enfant, parce que je n'ai pas envie d'avoir un pop-up séparé pour chacun des innerItems.
La façon que je le vois sur ng-mouseover
j'appelle la fonction qui définit la gauche/haut de la page de propriétés de ma position absolue popup. Ainsi pour chacun de innerItems j'aimerais appeler jQuery .offset()
méthode qui me donne à gauche/en haut les valeurs de l'angle supérieur gauche de la page.
Alors, comment puis-je obtenir jQuery objet de la portée actuelle de l'élément? Ou, si j'ai choisi le mauvais chemin
Vous devez vous connecter pour publier un commentaire.
Dans le contrôleur:
ng-model
permettrait de réaliser qu'aucun? Je pense qu'il y a légitime utilise pour$element
mais pas sûr que c'est nécessaire il.console.log($element)
de constater que certaines directive avais mis le mauvais contrôleur. Donc, mauvais pour la production, bug bon à savoir à l'occasion pour des fins de débogage.La meilleure et la bonne solution est d'avoir une directive. La portée est la même, que ce soit dans le contrôleur de la directive ou le contrôleur principal. Utilisation
$element
faire DOM opérations. La méthode définie dans la directive contrôleur est accessible dans le contrôleur principal.Exemple, de trouver un enfant de l'élément: