Your directive(s) uses ng-transclude
. From the docs:
In a typical setup the widget creates an isolate scope, but the transclusion is not a child, but a sibling of the isolate scope.
This is what your scope hierarchy looks like:
- 003 is the isolated scope of directive
one
- 004 is the transclusion scope where the
two
elements live in - 005 is the scope of the first directive
two
- 006 is the transclusion scope of the first directive
two
So as you can see the scope of two
is not a child scope of one
.