W3cubDocs

/Angular

NG2009: Component selector does not match shadow DOM requirements

Description

The selector of a component using ViewEncapsulation.ShadowDom doesn't match the custom element tag name requirements.

In order for a tag name to be considered a valid custom element name, it has to:

  • Be in lower case.
  • Contain a hyphen.
  • Start with a letter (a-z).

Debugging the error

Rename your component's selector so that it matches the requirements.

Before:

@Component({
  selector: 'comp',
  encapsulation: ViewEncapsulation.ShadowDom
  ...
})

After:

@Component({
  selector: 'app-comp',
  encapsulation: ViewEncapsulation.ShadowDom
  ...
})

© 2010–2021 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://angular.io/errors/NG2009