Est*_*ask 5 javascript angularjs angularjs-scope
是否有一个技巧可以将与范围相关联的元素与拥有它的指令相关联?
我的前提是它必须在最不利的条件下完成(从控制台或Greasemonkey脚本).例如,获取具有范围的元素
angular.element(document.querySelector('.ng-scope')).scope().$$childTail
Run Code Online (Sandbox Code Playgroud)
没有DOM遍历.
我想有可能遍历所有ng-scope和ng-isolate-scopeDOM元素并映射它们的范围,但我正在寻找更优雅的解决方案(地图也需要保持最新,我试图远离DOMSubtreeModified,也赢了不和debugInfoEnabled残疾人一起工作.
范围(src)不保留对与其关联的元素的引用.毕竟,范围可以存在而不与特定元素相关联.
$ compile (src)是负责将元素与范围相关联的人.
编译过程的一部分增加了元素,让你从元素>>范围(例如angular.element("#something").scope()).范围似乎没有发生同样的情况.
所以另一方面,scope >> element,你必须映射范围id:按范围$ id获取DOM元素.Angular JS Batarang中的这个功能允许您从页面中选择一个元素并检查与之相关的范围?这就是它的完成方式.Batarang使用角度暗示.通过在页面上的所有元素与角暗示迭代ng-scope类,并返回一个与匹配范围ID (SRC: )function findElt.
function findElt (scopeId) {
var elts = document.querySelectorAll('.ng-scope');
var elt, scope;
for (var i = 0; i < elts.length; i++) {
elt = angular.element(elts[i]);
scope = elt.scope();
if (scope.$id === scopeId) {
return elt;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5561 次 |
| 最近记录: |