The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
NG01354 means an ngModel control inside a child component cannot register with the form directive in its parent component. To include that control in the parent form, expose the matching form directive through the child’s viewProviders: use NgForm for a template-driven form or FormGroupDirective for a reactive form. If the control should remain independent, mark it standalone instead.
Why Angular reports NG01354
Angular’s NG01354 documentation identifies the cause: NgModel injects ControlContainer with @Host(). That host boundary prevents the lookup from crossing a component boundary to find a form directive in the parent template.
As a result, the child’s control cannot register with the parent form. It is absent from the parent form’s value, validity, and submission state. This is a component-boundary registration issue, not necessarily a misspelled model binding.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Choose the fix that matches the intended behavior
| What you want | Parent form type | Expose through the child’s viewProviders |
|---|---|---|
| Include the child control in the parent form | Template-driven form using NgForm |
ControlContainer mapped to NgForm |
| Include the child control in the parent form | Reactive form using [formGroup] |
ControlContainer mapped to FormGroupDirective |
| Keep the child control independent | Either | Set [ngModelOptions]="{standalone: true}" on the control; this opts it out rather than registering it with the parent |
Expose a template-driven parent form
If the parent uses a template-driven form, import ControlContainer and NgForm from @angular/forms. In the child component, add this provider:
#1 Best Overall
viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]
This makes the parent’s NgForm available as the child control’s container, allowing the control to participate in the parent form.
Expose a reactive parent form
If the parent uses a reactive form with [formGroup], import ControlContainer and FormGroupDirective from @angular/forms. In the child component, use:
Rank #2
viewProviders: [{ provide: ControlContainer, useExisting: FormGroupDirective }]
Use the directive that matches the parent form. Angular’s guidance says this lets the parent see and validate the child controls normally.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsKeep the control outside the parent form
If the control is intentionally independent, add [ngModelOptions]="{standalone: true}" to that control. Standalone mode is an opt-out: it avoids registering the control with the parent form; it does not make the control part of that form.
Rank #3
Check which component owns the form and control
- Use the NG01354 warning’s call stack to locate the
ngModelthat triggers the error. - Check whether the component containing the
<form>element also owns the input. If the input is in a child component, the component boundary is relevant. - Decide whether the control belongs in the parent form. If it does, expose the matching container with
viewProviders; if it does not, set the control to standalone.
The official Angular error entry identifies the page as Angular v22.2.1+sha-fa63bfa when accessed on October 7, 2026. The registration explanation and remedies above are documented there.
Quick Recap
Rank #4
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

