在控制台中列出正在运行的控制器实例及其 this 变量
List running controllers instances and their this variable in console?
我的 Angular 应用程序中的某个地方有一个内存泄漏,正在尝试找到它。
是否可以在控制台中列出所有正在运行的控制器实例及其this
变量?
我知道我可以键入 console.log(window)
来打印所有变量,但我不知道如何从那里导航到控制器实例。
好吧,您可以很好地访问所有控制器的scope
,如下所示:
var ngControllers = document.querySelectorAll('[ng-controller]');
angular.forEach(ngControllers, function(controllerElement) {
var scope = angular.element(controllerElement).scope();
console.log(scope);
});
而且,如果您想访问所有嵌套范围而不考虑ng-controller
那么您也可以这样做:
var $rootScope = angular.element(document.querySelector('[ng-app]')).scope();
var q = [$rootScope];
while (q.length > 0) {
var scope = q.pop();
console.log(scope);
if (scope.$$childHead) {
q.push(scope.$$childHead);
}
if (scope.$$nextSibling) {
q.push(scope.$$nextSibling);
}
}
相关文章:
- 向模板实例变量传递调用方法调用的结果时出现异常
- Rails/Javascript:将实例变量传递给Coffeescript时发生Uncaught ReferenceEr
- 访问 javascript 对象的实例变量
- Angular2/Typescript:从链接可观察函数访问实例变量
- 如何在Promise回调中访问实例变量
- 如何使用每个ajax请求更新实例变量
- 实例变量变为未定义 - CoffeeScript
- 如何显式创建实例变量
- 如何在 JavaScript 中创建实例变量
- 模块化模式中的私有实例变量
- 将实例变量传递给 js Rails
- 找出实例变量名称本身
- 从视图中访问另一个操作实例变量
- 从视图访问实例变量
- 在主干模型中定义实例变量的正确方法是什么
- 是否可以在 javascript 中的私有函数中调用实例变量
- 将 rails 实例变量用于 javascript 条件
- 将实例变量替换为局部变量
- 为什么当我通过 Ajax 请求刷新部分时我的实例变量为空
- 实例变量