AbstractThe initial value of Object.prototype.constructor is the standard built-in Object constructor.
Protected AbstractcontrolBind this to your inner form control to make all the magic happen.
An observable that emits once when this object is destroyed, then completes.
Call this to emit a new value when it changes.
@deprecated: This method may be removed in a future version. Its purpose is now handled by Angular elegantly with signals. Consider migrating to signal inputs.
Emits the set of @Input() property names that change during each call to ngOnChanges().
You can bind to this in your template as needed.
Call this to "commit" a change, traditionally done e.g. on blur.
This function returns undefined.
Contribution to minified bundle size, when it is the only function imported:
@deprecated: This method may be removed in a future version. Consider whether moving to signals will suit your needs.
Binds an observable to one of this directive's instance variables. When the observable emits the instance variable will be updated, and change detection will be triggered to propagate any changes. Use this as an alternative to repeating | async multiple times in your template.
@deprecated: This method may be removed in a future version. Its purpose is now handled by Angular elegantly with signals. Consider migrating to signal inputs.
an observable of the values for one of this directive's @Input() properties
Called as Angular propagates values changes to this ControlValueAccessor. You normally do not need to use it.
Determines whether an object has a property with the specified name.
A property name.
ProtectedinnerOverride this to modify validation errors that synchronize out from this component.
For more complex needs, see #setUpInnerToOuterErrors$ instead.
ProtectedinnerDetermines whether an object exists in another object's prototype chain.
Another object whose prototype chain is to be checked.
A callback method that is invoked immediately after the default change detector has checked data-bound properties if at least one has changed, and before the view and content children are checked.
The changed properties.
A callback method that is invoked immediately after the default change detector has checked the directive's data-bound properties for the first time, and before any of the view or content children have been checked. It is invoked only once when the directive is instantiated.
ProtectedouterOverride this to modify validation errors that synchronize in to this component.
In this example we assume the required validation is handled by the user and should not affect internal validation
protected override outerToInnerErrors(
errors: ValidationErrors,
): ValidationErrors {
return omit(errors, 'required');
}
For more complex needs, see #setUpOuterToInnerErrors$ instead.
ProtectedouterDetermines whether a specified property is enumerable.
A property name.
Called as Angular sets up the binding to this ControlValueAccessor. You normally do not need to use it.
Called as Angular sets up the binding to this ControlValueAccessor. You normally do not need to use it.
Called as Angular propagates disabled changes to this ControlValueAccessor. You normally do not need to use it.
ProtectedsetOverride this to for full control over the stream of validation errors synchronized out from your subclass.
In this example, synchronization is turned off:
protected override setUpInnerToOuterErrors$(): Observable<ValidationErrors> {
return EMPTY;
}
For a simple transformation, see #innerToOuterErrors instead.
ProtectedsetOverride this to for full control over the stream of values emitted from your subclass.
In this example, illegal values are not emitted
setUpInnerToOuterValue$(inner$: Observable<InnerType>): Observable<OuterType> {
return inner$.pipe(
filter((inner) => isLegalValue(outer)),
);
}
For a simple transformation, see #innerToOuterValue instead.
ProtectedsetOverride this to for full control over the stream of validation errors synchronized in to your subclass.
For a simple transformation, see #outerToInnerErrors instead.
ProtectedsetOverride this to for full control over the stream of values passed in to your subclass.
In this example, incoming values are debounced before being passed through to the inner form control
setUpOuterToInnerValue$(outer$: Observable<OuterType>): Observable<InnerType> {
return outer$.pipe(
debounce(300),
map((outer) => doExpensiveTransformToInnerValue(outer)),
);
}
For a simple transformation, see #outerToInnerValue instead.
Returns a date converted to a string using the current locale.
Returns a string representation of an object.
Returns the primitive value of the specified object.
Called as Angular propagates value changes to this ControlValueAccessor. You normally do not need to use it.
StaticassignCopy the values of all of the enumerable own properties from one or more source objects to a target object. Returns the target object.
The target object to copy to.
One or more source objects from which to copy properties
StaticcreateCreates an object that has the specified prototype or that has null prototype.
Object to use as a prototype. May be null.
Creates an object that has the specified prototype, and that optionally contains specified properties.
Object to use as a prototype. May be null
JavaScript object that contains one or more property descriptors.
StaticdefineAdds one or more properties to an object, and/or modifies attributes of existing properties.
Object on which to add or modify the properties. This can be a native JavaScript object or a DOM object.
JavaScript object that contains one or more descriptor objects. Each descriptor object describes a data property or an accessor property.
StaticdefineAdds a property to an object, or modifies attributes of an existing property.
Object on which to add or modify the property. This can be a native JavaScript object (that is, a user-defined object or a built in object) or a DOM object.
The property name.
Descriptor for the property. It can be for a data property or an accessor property.
StaticentriesReturns an array of key/values of the enumerable own properties of an object
Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.
StaticfreezePrevents the modification of existing property attributes and values, and prevents the addition of new properties.
Object on which to lock the attributes.
StaticfromReturns an object created by key-value entries for properties and methods
An iterable object that contains key-value entries for properties and methods.
StaticgetGets the own property descriptor of the specified object. An own property descriptor is one that is defined directly on the object and is not inherited from the object's prototype.
Object that contains the property.
Name of the property.
StaticgetReturns an object containing all own property descriptors of an object
Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.
StaticgetReturns the names of the own properties of an object. The own properties of an object are those that are defined directly on that object, and are not inherited from the object's prototype. The properties of an object include both fields (objects) and functions.
Object that contains the own properties.
StaticgetReturns an array of all symbol properties found directly on object o.
Object to retrieve the symbols from.
StaticgetReturns the prototype of an object.
The object that references the prototype.
StatichasDetermines whether an object has a property with the specified name.
An object.
A property name.
StaticisReturns true if the values are the same value, false otherwise.
The first value.
The second value.
StaticisReturns a value that indicates whether new properties can be added to an object.
Object to test.
StaticisReturns true if existing property attributes and values cannot be modified in an object, and new properties cannot be added to the object.
Object to test.
StaticisReturns true if existing property attributes cannot be modified in an object and new properties cannot be added to the object.
Object to test.
StatickeysReturns the names of the enumerable string properties and methods of an object.
Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.
Returns the names of the enumerable string properties and methods of an object.
Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.
StaticpreventStaticsealStaticsetSets the prototype of a specified object o to object proto or null. Returns the object o.
The object to change its prototype.
The value of the new prototype or null.
StaticvaluesReturns an array of values of the enumerable own properties of an object
Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.
Extend this when creating a form component that simply wraps existing ones, to reduce a lot of boilerplate.
The most common case is to use a simple FormControl:
Example when you need to modify the wrapped control's value:
Example of wrapping multiple inner components:
If you bind to your component using an NgControl (e.g. when using
ngModel), validation errors will be synchronized between it and the control inside your component. You can override various methods below to control or disable that process. Note that validation,statuschanges, andvaluechangesmay all happen more often as a result of this synchronization.