Javascript 什么是scope.$$childHead?

Javascript 什么是scope.$$childHead?,javascript,angularjs,unit-testing,coffeescript,Javascript,Angularjs,Unit Testing,Coffeescript,我决定是时候探索测试指令的隐藏面了,现在当我使用一个具有独立作用域的指令时: parentScope=$rootScope.$new() parentScope.dasDingy=“bla bla dingy” 元素=角度。元素(“”) $compile(元素)(父范围) $rootScope.$digest() scope=angular.element(element).scope() console.log(scope.dingy)//未定义---不,不存在 //但是,如果我这样做了 co

我决定是时候探索测试指令的隐藏面了,现在当我使用一个具有独立作用域的指令时:

parentScope=$rootScope.$new()
parentScope.dasDingy=“bla bla dingy”
元素=角度。元素(“”)
$compile(元素)(父范围)
$rootScope.$digest()
scope=angular.element(element).scope()
console.log(scope.dingy)//未定义---不,不存在
//但是,如果我这样做了
console.log(scope.$$childHead.dingy)//它存在并且它的值==“bla-bla-dingy”
那么,究竟什么是
范围。$$childHead
以及为什么不能直接在范围上访问它?
或者我在这里做了些蠢事?

在本例中是
范围。$$childHead
指令的独立范围。查看分配此$$childHead的位置和时间。请参阅中的控制台输出,以了解使用具有不同类型作用域(共享、隔离、新)的指令的示例。

$$
开头的角度属性是内部的,将来将要更改。是否存在无法使用(在上例中)元素的原因。isolateScope()与直接访问$$childHead?@StevenRogers不同,我认为使用
element.isolateScope()
更可取;在以下示例中,
$$childHead
可能不会以预期元素为目标: