Skip to content

Conflict in the import of Field from forms package #66086

@sabari3

Description

@sabari3

Which @angular/* package(s) are the source of the bug?

forms

Is this a regression?

Yes

Description

Hi,

I'm experimenting with the new signal-based forms feature in Angular v21, and I've run into a directive conflict that's blocking integration with some popular component libraries.

Specifically, the Field import from forms package used for binding signal form fields clashes with existing components that use field as attribute for data mapping. For example:

  • In custom grid components (like Syncfusion EJ2 Grid), columns are defined in templates as . When Field is imported from @angular/forms/signals, Angular's template compiler interprets field as the signal forms directive instead of a plain property, causing binding failures or errors.
    Similarly, in Gantt components (e.g., Telerik Kendo UI for Angular Gantt), field is used for column/data bindings, leading to the same issue. The import alias is also not working in this case.
  • Similar issue is found in the Telerik Kendo components too.
  • This is reproducible in a minimal standalone setup where both Field and the grid module are imported in the same component. Here's a StackBlitz demo showing the clash: StackBlitz sample .

Questions:

  • Is there a recommended way to resolve or workaround this without refactoring templates or splitting everything into child components (which isn't scalable for apps with many grids)?
  • Any plans to rename the Field module or add namespace/alias options to avoid global conflicts before stabilizing the feature?
    Thanks for your time—happy to provide more details or test potential fixes!

Please provide a link to a minimal reproduction of the bug

https://stackblitz.com/edit/stackblitz-starters-oz2ou1vb?file=src%2Fmain.ts

Please provide the exception or error you saw


Please provide the environment you discovered this bug in (run ng version)


Anything else?

No response

Metadata

Metadata

Assignees

Type

No type

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions