fix(ivy): match directives on bindings and element outputs (#25614)

Closes #23560

PR Close #25614
This commit is contained in:
Pawel Kozlowski
2018-08-20 15:20:12 +02:00
committed by Matias Niemelä
parent 3634575d89
commit 6a0f78fabf
15 changed files with 487 additions and 104 deletions

View File

@ -157,9 +157,9 @@ The goal is for the `@Component` (and friends) to be the compiler of template. S
| `<div (bubble.click)>` | ❌ | ❌ | ❌ |
| `<div (keyup.enter)>` | ❌ | ❌ | ❌ |
| `<div (hammer.js)>` | ❌ | ❌ | ❌ |
| [`<div (directiveOut)>`][gh23560] | ✅ | | |
| [`<div (directiveOut)>`][gh23560] | ✅ | | |
| [`<ng-template (directiveOut)>`][gh23561] | ❌ | ❌ | ❌ |
| [`<ng-container>`][gh24381] | | | |
| [`<ng-container>`][gh24381] | | | |
[gh23560]: https://github.com/angular/angular/issues/23560
[gh23561]: https://github.com/angular/angular/issues/23561

View File

@ -85,8 +85,8 @@ export function compileComponent(type: Type<any>, metadata: Component): void {
// If component compilation is async, then the @NgModule annotation which declares the
// component may execute and set an ngSelectorScope property on the component type. This
// allows the component to patch itself with directiveDefs from the module after it finishes
// compiling.
// allows the component to patch itself with directiveDefs from the module after it
// finishes compiling.
if (hasSelectorScope(type)) {
const scopes = transitiveScopesFor(type.ngSelectorScope);
patchComponentDefWithScope(ngComponentDef, scopes);

View File

@ -257,6 +257,15 @@
{
"name": "_c2"
},
{
"name": "_c20"
},
{
"name": "_c21"
},
{
"name": "_c22"
},
{
"name": "_c3"
},

View File

@ -1019,6 +1019,15 @@
{
"name": "_c2"
},
{
"name": "_c20"
},
{
"name": "_c21"
},
{
"name": "_c22"
},
{
"name": "_c3"
},