Angular

You should also additionally to the FormsModule import the ReactiveFormsModule from Angular.

import { FormsModule, ReactiveFormsModule } from '@angular/forms';

@NgModule({
imports: [
[...]
FormsModule,
ReactiveFormsModule
],
[...]
})

ProgrammingLanguage:

Technology:

This error appears because of the AOT-compiler.

There are two compilers in Angular:
JIT (Just-in-Time): It's for local machines and faster than AOT compiler, but special features like tree shaking are not enabled.
AOT(Ahead-of-Time): It's compiler used for prod builds. This compiler enables for example tree shaking, which takes more time during compiling but decreases loading time of the application by a lot.

And this AOT compiler doesn't allow private symbols because he can only interact with exported members. Decorated and data bound properties must be public.

Technology:

The problem you receive is becaus you did not import the Formsmodule into your module and because of this ngModel is not recognized as a property of input.
Add following import to your module:

@NgModule({
imports: [
[...]
FormsModule
],
[...]
})

Technology:

Subscribe to Angular