Backport $compiler fixes from 1.3 to v1.2.x#7828
Conversation
If you have two directives that both expect to receive transcluded content the outer directive works but the inner directive never receives a transclusion function. This only failed if the first transclude directive was not the first directive found in compilation. Handles the regression identified in e994259 Fixes angular#7240 Closes angular#7387
The boundTransclusionFn that is passed in is really the one from the parent node. The change to parentBoundTranscludeFn clarifies this compared to the childBoundTranscludeFn.
…rective If a directive provides a template but is not explicitly requesting transclusion then the compiler should not pass a transclusion function to the directives within the template.
Nested isolated transclude directives. This improves/fixes the fix in d414b78. See the changed ng-ifunit test: The template inside ng-if should be bound to the isolate scope of `iso` directive (resp. its child scope). Not to a child of the root scope. This shows the issue with ng-if. It’s however problem with other directives too. Instead of remembering the scope, we pass around the bound parent transclusion. Conflicts: test/ng/directive/ngIfSpec.js
If a "replace" directive has an async template, which contains a transclusion directive at its root node, then outer transclusions were failing to be passed to this directive. An example would be uses of `ngIf` inside and outside the template. Collaborated with @caitp Closes angular#7183 Closes angular#7772
|
@petebacondarwin so yeah, IE8 has issues with element directives, that's the main reason why tests were failing. It might be worth changing the 1.3 tests not to use element directives, just to keep things in sync. I know that supposedly At any rate, this stuff is passing, last failure is just a flake on safari which passes locally. |
|
LGTM! Thanks @caitp
|
|
I believe this can be closed? |
|
Didn't realize github was going to be an idiot =( |
This doesn't include 2cde927 which contained breaking changes,
but includes all of the transclusion fixes.