Цель forwardRef
- отложить доступ к классу, который не определен во время выполнения текущего кода.
Это не обязательно для вашего случая , потому что TypeScript преобразует ваш код таким образом, когда выполнение декоратора идет после определения класса .
let CustomInputComponent = /** @class */ (() => {
var CustomInputComponent_1;
let CustomInputComponent = CustomInputComponent_1 = class CustomInputComponent {
};
CustomInputComponent = CustomInputComponent_1 = __decorate([
Component({
selector: 'app-custom-input',
template: '<input />local: {{val}}',
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: CustomInputComponent_1, // already defined!!!
multi: true
}
]
})
], CustomInputComponent);
return CustomInputComponent;
})();