Obtenez de l'élément DOM portée par $id
Je comprends que je peux obtenir le champ par élément:
scope = angular.element($0).scope();
scope.$id; //"003"
Comment puis-je obtenir inverse: Trouver l'élément du DOM à l'aide de la portée $id
, comme 003
?
J'aimerais le faire à des fins de débogage. Mon champ d'action de l'arbre montre quelque chose et j'aimerais identifier d'où il vient.
- vous pouvez obtenir le portée par l'obtention de l'id de l'élément <div id="abc"></div>
- je ne sais pas si vous pouvez faire ce que vous essayez d'atteindre, avez-vous essayé batarang?
- J'ai vraiment essayé batarang, c'est pourquoi je sais que le mystérieux id d'étendue. Je veux trouver ce que l'élément peut être attaché. Je vous demande le contraire de ce qui est suggéré.
Vous devez vous connecter pour publier un commentaire.
Bien que ce n'est pas très sexy chaque nœud dom obtient une classe ng-champ d'application de sorte que vous pourriez tech faire quelque chose comme ceci peut-être:
.ng-scope
-- stackoverflow.com/a/26413528/1037948$element
sur le contrôleur? Puis la passer dans la directive?Essayant de la réponse, j'ai trouvé que les directives ne semblent pas avoir la classe
ng-scope
, voici donc une version modifiée qui va de secours à tout.Utilisation:
.filter
fn, c'est à dire arrêter après le succès du jsfiddle.net/drzaus/3vLwzgkh/3La même solution écrite en es2015, sans JQuery dépendance:
Vous pouvez toujours obtenir la portée à l'aide de l'élément de id.
Exemple:
html:
js:
Live exemple : http://jsfiddle.net/choroshin/7XQA7/2/
aussi comme David Chase a suggéré, vous pouvez toujours utiliser batarang - s'Étend Chrome Developer Tools, l'ajout d'outils pour le débogage et le profilage des applications AngularJS.