我在我的角度应用程序中创建了一个工厂/服务。
我想在浏览器中调试它。有没有办法可以访问它的实例并检查其功能和变量的值。
可以使用
访问角度范围angular.element(e).scope()
是否有类似的方式访问工厂?
答案 0 :(得分:66)
我相信你可以使用这样的东西:
angular.element(e).injector().get('serviceName')
由于angularjs服务是单例,因此在任何 angular.element 上执行此操作将始终返回相同的服务实例/对象。
答案 1 :(得分:8)
将您的服务注入任何控制器,然后console.log(myService);
答案 2 :(得分:6)
像@bmleite所说,你可以使用:
angular.element( {DOM element} ).injector().get('serviceName')
您可以选择所需的DOM元素(使用Chrome开发者工具上的“元素”标签或Firefox / Firebug上的“HTML”标签),然后使用$ 0在“控制台”标签中指向它。
要选择的最简单的元素是你有ngApp指令的元素。 最终的代码是:
var myService = angular.element($0).injector().get('serviceName');
然后你可以访问他所有的变量和函数:
myService.getConfig('dev');
答案 3 :(得分:4)
尝试ng-inspect chrome扩展程序。
控制台中的$ get('serviceName')将返回服务或工厂实例。
答案 4 :(得分:3)
我不确定如何检查服务,但 Angular Batarang 是一个很棒的Chrome扩展程序,用于调试Angular应用程序。可能会有帮助。
https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk
Batarang的有用文档:
http://www.c-sharpcorner.com/UploadFile/9c2805/getting-started-with-angularjs-batarang/