Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何找出应用于元素的指令?_Javascript_Angularjs_Debugging_Angularjs Directive - Fatal编程技术网

Javascript 如何找出应用于元素的指令?

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) 我似乎无法在项目

对于任何给定的元素,有没有办法找出对其/其属性应用了哪些AngularJS指令?

在一个大型web应用程序中,我看到一个HTML元素,它有一个额外的属性,我怀疑该属性可能会调用一个指令(属性名显然是特定于我们的应用程序的)。或者它可能只是死代码

它看起来像这样:

<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
这样的东西会出现在那里。除了指令可以不同地使用之外:
/
/
,这使得使用指令变得更加困难