Javascript 如何找出应用于元素的指令?
对于任何给定的元素,有没有办法找出对其/其属性应用了哪些AngularJS指令? 在一个大型web应用程序中,我看到一个HTML元素,它有一个额外的属性,我怀疑该属性可能会调用一个指令(属性名显然是特定于我们的应用程序的)。或者它可能只是死代码 它看起来像这样:Javascript 如何找出应用于元素的指令?,javascript,angularjs,debugging,angularjs-directive,Javascript,Angularjs,Debugging,Angularjs Directive,对于任何给定的元素,有没有办法找出对其/其属性应用了哪些AngularJS指令? 在一个大型web应用程序中,我看到一个HTML元素,它有一个额外的属性,我怀疑该属性可能会调用一个指令(属性名显然是特定于我们的应用程序的)。或者它可能只是死代码 它看起来像这样: <button ctl-remember-special data-ng-click="handleAction()"></button> (ctl记住,本例中可能的指令是special) 我似乎无法在项目
<button ctl-remember-special data-ng-click="handleAction()"></button>
(ctl记住,本例中可能的指令是special
)
我似乎无法在项目中找到合适名称的指令,但我不能完全确定,因为应用程序中的一些标识符是在运行时组装的。(为了提供尺寸的印象,我在代码中看到了6000多个指令定义。)angular.element(document.body).injector().has(name+“directive”)
将检查指令是否存在。然而,检查它是否被使用(作为属性应用)要困难得多。您可以使用document.getElementsByTagName(“div”)
(仅作为
标记的示例)深入呈现的HTML(编译后),并检查每个元素的属性
字段。像ng view
这样的东西会出现在那里。除了指令可以不同地使用之外:
/
/
,这使得使用指令变得更加困难