javascript-如何在给定的角度应用程序中获取所有指令名称?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何在给定的角度应用程序中获取所有指令名称?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1249字,纯文字阅读大概需要2分钟。
内容图文
假设我有一个有角度的应用程序,其中包含一些模块和一些指令.
我想获取此应用程序中所有已定义指令的列表.
例如:
var myModule = angular.module('myModule', [function(){...}]);
myModule.directive('myDirective', [function () {...}]);
myModule.directive('myOtherDirective', [function () {...}]);
var myOtherModule = angular.module('myOtherModule', [function(){...}]);
myOtherModule.directive('thirdDirective', [function () {...}]);
我想编写一个函数getAllDirectives(),该函数将返回[‘myDirective’,’myOtherDirective’,’thirddirective’].
另外,如果可能的话,我也想知道每个指令属于哪个模块:
{
'myModule': ['myDirective','myOtherDirective'],
'myOtherModule':['thirdDirective']
}
如何才能做到这一点?
请注意,我需要在应用本身之外以及加载完成后执行此操作.我确实可以访问页面上所有公共可用的内容,例如角度对象和DOM.
解决方法:
您可以使用以下自定义函数获取每个模块中定义的所有指令:
function get_directives(name) {
var result = [],
invokes = angular.module(name)._invokeQueue;
for(var i=0; i<invokes.length; ++i) {
if(invokes[i][1] == "directive") {
result.push(invokes[i][2][0]);
}
}
return result;
}
var result = {
'myModule': get_directives('myModule'),
'myOtherModule': get_directives('myOtherModule'),
};
您也可以检查angular.module(‘module_name’)._ invokeQueue列表以获取将来的知识.
内容总结
以上是互联网集市为您收集整理的javascript-如何在给定的角度应用程序中获取所有指令名称?全部内容,希望文章能够帮你解决javascript-如何在给定的角度应用程序中获取所有指令名称?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。