一旦我们有了一个范围,我们就可以导航到它的根并探索范围层次结构。
但是有没有一种直接的方法可以找到页面上的所有范围?
同样给定一个 HTML 元素,是否有直接的方法来找到它的封闭范围?
最佳答案
并非所有范围都绑定(bind)到元素。如果你想要全部 页面上的范围,像这样遍历范围树:
function getScopes(root) {
var scopes = [];
function visit(scope) {
scopes.push(scope);
}
function traverse(scope) {
visit(scope);
if (scope.$$nextSibling)
traverse(scope.$$nextSibling);
if (scope.$$childHead)
traverse(scope.$$childHead);
}
traverse(root);
return scopes;
}
getScopes($rootScope)
关于scope - 在 AngularJS 中,如何找到页面上的所有范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10514147/