Skip to content

Infinite call stack for ngNoHost in prod mode #233

@pauldraper

Description

@pauldraper

ngNoHost

https://github.com/pauldraper/angular-nohost-stack-error

ng serve

http://localhost:4200/ works.

http://localhost:4200/?prod has the error:

core.js:9110 ERROR RangeError: Maximum call stack size exceeded
    at InterceptingRenderer.renderer.childNodes (angular-contrib-core.js:1574)
    at InterceptingRenderer.renderer.childNodes (angular-contrib-core.js:1574)
    at InterceptingRenderer.renderer.childNodes (angular-contrib-core.js:1574)
    at InterceptingRenderer.renderer.childNodes (angular-contrib-core.js:1574)
    at InterceptingRenderer.renderer.childNodes (angular-contrib-core.js:1574)
    at InterceptingRenderer.renderer.childNodes (angular-contrib-core.js:1574)
    at InterceptingRenderer.renderer.childNodes (angular-contrib-core.js:1574)
    at InterceptingRenderer.renderer.childNodes (angular-contrib-core.js:1574)
    at InterceptingRenderer.renderer.childNodes (angular-contrib-core.js:1574)
    at InterceptingRenderer.renderer.childNodes (angular-contrib-core.js:1574)

Relevant code:

@Component({
  selector: 'stuff',
  host: { ngNoHost: '' },
  template: `
    Example
  `,
})
export class StuffComponent {}

@Component({
  selector: 'util',
  template: `
    <ng-container *ngTemplateOutlet="content"></ng-container>
  `,
})
export class UtilComponent {
  @ContentChild(TemplateRef, { static: false })
  content: TemplateRef<{}>;
}

@Component({
  selector: 'app',
  template: `
    <util>
      <ng-template>
        <stuff></stuff>
      </ng-template>
    </util>
  `,
})
export class AppComponent {
  @ContentChild(TemplateRef, { static: false })
  content: TemplateRef<{}>;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions