Indigosoft/ngxd

Output events not caught under AOT

ciukstar opened this issue · 9 comments

Output events not caught under AOT.
Works fine (events get caught) in default, no AOT configuration.

Configuration sample (angular.json):

"configurations": {
"stage": {
  "optimization": true,
   "outputHashing": "all",
   "sourceMap": false,
   "extractCss": true,
   "namedChunks": false,
   "aot": true,
   "extractLicenses": true,
   "vendorChunk": false,
   "buildOptimizer": true,
   "fileReplacements": [
     {
       "replace": "src/environments/environment.ts",
       "with": "src/environments/environment.stage.ts"
     }
   ]
 }
}

$ ng version

Angular CLI: 7.3.8
Node: 8.10.0
OS: linux x64
Angular: 7.2.12
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.13.8
@angular-devkit/build-angular     0.13.8
@angular-devkit/build-optimizer   0.13.8
@angular-devkit/build-webpack     0.13.8
@angular-devkit/core              7.3.8
@angular-devkit/schematics        7.3.8
@angular/cdk                      7.3.7
@angular/cli                      7.3.8
@angular/flex-layout              7.0.0-beta.24
@angular/material                 7.3.7
@ngtools/webpack                  7.3.8
@schematics/angular               7.3.8
@schematics/update                0.13.8
rxjs                              6.4.0
typescript                        3.2.4
webpack                           4.29.0

Hello! Can you reproduce bug in github repo?

I'm having issues too, output events don't bubble to the container component. Don't have time to repro. angular 8

@ciukstar @jpike88 I need repro to fix this issue, because I can't repeat it.

ill find time over the next couple of days to do it

@jpike88 It is not possible to add output binding on ng-container. You should create an identical output in your host. I change your stackblitz, check it:
https://stackblitz.com/edit/angular-emptyproject-8-pipe-zfretq

Also, you can use manual bindings with the oldest method. But I don't recommend to use it:
https://github.com/IndigoSoft/ngxd/blob/master/MIGRATION.md#auto-binding-component-context

And If you need more examples, you can see it here:
https://stackblitz.com/edit/angular-simple-dynamic

Right, that's not clear at all in the documentation, I think you need to mention that as it doesn't make sense..

So you have to put an @output in the child AND the container, and the @output variable names have to match, right?

Yes, right. I will try to show that in documentation, thank!

Resolved