我正在查看我在Batarang的 Angular 应用程序,其中一个范围有一些我不认识的值。如何找出创建该范围的原因?
我已经尝试在 DOM 中搜索 ng-scope 类。如果有人感兴趣,这是我提出的解决方案。该函数接受 Batarang 中显示的范围 id。
function getElementByScopeId(scopeId) {
var i;
var scopesInDom = angular.element('.ng-scope');
for (i=0; i < scopesInDom.length; i++) {
if (angular.element(scopesInDom[i]).scope().$id === scopeId) {
return scopesInDom[i];
}
}
};
这适用于我在 Batarang 看到的大多数范围,但找不到我正在寻找的范围。我认为这是因为它在某个时候从 DOM 中删除了。还有其他方法可以找到范围的来源吗?
编辑:找到了。但这只是因为我的应用程序中几乎没有我不熟悉的代码。它在我包含的一个模块中,是我没有写的少数几篇之一。上述函数找不到它的原因是因为它从未在 DOM 上。它是使用 $rootScope.new(true); 创建的。一家工厂内。所以问题仍然存在。有什么方法可以让我从 Batarang 中可用的信息中找到以这种方式创建的范围的代码?