22 lines
1.1 KiB
Markdown
22 lines
1.1 KiB
Markdown
@name Selector Collision
|
||
@category runtime
|
||
@videoUrl https://www.youtube.com/embed/z_3Z5mOm59I
|
||
@shortDescription Multiple components match with the same tagname
|
||
|
||
@description
|
||
Two or more components use the same [element selector](https://angular.io/guide/component-overview#specifying-a-components-css-selector). Because there can only be a single component associated with an element, selectors must be unique strings to prevent ambiguity for Angular.
|
||
|
||
@debugging
|
||
Use the element name from the error message to search for places where you’re using the same [selector declaration](https://angular.io/guide/architecture-components) in your codebase:
|
||
|
||
```typescript
|
||
@Component({
|
||
selector: 'YOUR_STRING',
|
||
...
|
||
})
|
||
```
|
||
|
||
Ensure that each component has a unique CSS selector. This will guarantee that Angular renders the component you expect.
|
||
|
||
If you’re having trouble finding multiple components with this selector tag name, check for components from imported component libraries, such as Angular Material. Make sure you're following the [best practices](https://angular.io/guide/styleguide#component-selectors) for your selectors to prevent collisions.
|