
рд╕рдорд╛рдЪрд╛рд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рддрд╛рдЬрд╛ рдЪрдпрдиред
рдЕрдЪреНрдЫрд╛ рдкрдврд╝ рд▓реЛ!
рд╡рд┐рдЬреНрдЮрдкреНрддрд┐
рдХреЛрдгреАрдп
рдХреЛрдгреАрдп 7.2.2 - рдмрд╛рдЬрд╝рд▓ рд╕рдорд░реНрдерди рдореЗрдВ рд╕реБрдзрд╛рд░
рдХреЛрдгреАрдп рд╕реАрдПрд▓рдЖрдИ
рдХреЛрдгреАрдп рд╕реАрдПрд▓рдЖрдИ 7.2.3 - рдлрд┐рдХреНрд╕реНрдб рдмрдЧ, рдмреЗрд╣рддрд░ рд╕реНрдерд┐рд░рддрд╛
рдХреЛрдгреАрдп рд╕реАрдПрд▓рдЖрдИ 7.3.0-рдмреАрдЯрд╛.0 - рдЖрдЗрд╡реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрдИ рд╕реБрдзрд╛рд░, рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдЖрдЗрд╡реА рд▓рд╡реА рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
рдХреЛрдгреАрдп рд╕реАрдПрд▓рдЖрдИ 7.3.0-рдЖрд░рд╕реА .0
IONIC
4.0.0 рдиреНрдпреВрдЯреНрд░реЛрдирд┐рдпрдо - рдЖрдирдВрдж рд▓реЗрдВ!
NGRX
NGRX 7.1.0
рдЯрд╛рдЗрдкрдкреНрд░рддрд┐
рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 3.2.4
рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 3.3 рдЖрд░рд╕реА - рдпреВрдирд┐рдпрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕рдорд░реНрдерди рдФрд░ рд╕рдордЧреНрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдирд┐рд░реНрдорд╛рдг рдХреЛ 4 рдмрд╛рд░ рддреЗрдЬ рдХрд┐рдпрд╛ред
рдХрдореНрдкреЛрдЬрд┐рдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 3 рдореЗрдВ рд╡рд╛рдкрд╕ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрд╣рд╛рдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ ред
рдЙрдкрдХрд░рдг
рдХреЛрдгреАрдп рдХрдВрд╕реЛрд▓ , рдЬреЛ рдХреЛрдгреАрдп рд╕реАрдПрд▓рдЖрдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдпреВрдЖрдИ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЕрдм рд╡реАрдПрд╕ рдХреЛрдб рдореЗрдВ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкреНрд▓рдЧрдЗрди рд╣реИред
mgechev рджреНрд╡рд╛рд░рд╛ рдПрдирдПрдХреНрд╕рдПрдХреНрд╕-рдХреНрд╡рд┐рдХрд▓рд┐рдВрдХ , рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рд░рдгрдиреАрддрд┐ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рд╕реЗрдХреНрд╢рди рдСрдмреНрдЬрд░реНрд╡рд░ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдХреЛрдгреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИред
рдЖрд░рдПрдХреНрд╕рдЬреЗрдПрд╕-рдСрдкрд░реЗрдЯрд░-рдХрд╛рдЙрдВрдЯрд░ рдХрдорд╛рдВрдб рдХреЗ рд╕рдорд╛рди, рд░реБрд╕реНрддрдо рдиреЗ рдХреЛрдгреАрдп рдХреЗ рд▓рд┐рдП рдХреВрд▓ рдПрдирдЬреА-рдРрдк-рдХрд╛рдЙрдВрдЯрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓рд┐рдЦреАред
рдЖрд░рдПрдХреНрд╕-рд╣реИрдВрдбрд▓рд░ рдПрдХ рднрдпрд╛рдирдХ рд░рд┐рдПрдХреНрдЯрд┐рд╡рдПрдХреНрд╕ рдЯреВрд▓ рд╣реИ рдЬреЛ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред
rxjs-watcher Chrome DevTools рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ рдЬреЛ RxJS рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред
serverx-ts рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ Node.js HTTP рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ рдЬреЛ RxJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк RxJS рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рдЬрд╛рдирддреЗ рд╣реИрдВ? RxJS рдкрд╣реЗрд▓рд┐рдпрд╛рдБ рдорд┐рдиреА рдЦреЗрд▓ рдореЗрдВ рдЕрдкрдиреЗ рдЬреНрдЮрд╛рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ!
TweetDeck GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡реЗрджрди рдкрддреНрд░ рд╣реИред
fx рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ JSON рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рднрдпрд╛рдирдХ CLI рдЙрдкрдХрд░рдг рд╣реИред
рд╕реНрдкреЗрдХреНрдЯреЗрдЯрд░ рдХреЛрдгреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рд╣реИ, рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред
NgxFormly рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд░реВрдкреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЙрдкрдХрд░рдг рд╣реИред
рдкреНрд░реАрдЯреАрдпрд░ рдПрдХ рдХреЛрдб рдлреЙрд░реНрдореЗрдЯрд┐рдВрдЧ рдЯреВрд▓ рд╣реИред рдЗрд╕рдХрд╛ рдПрдХ рдиреНрдпреВрдирддрдо рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ, рд╕рднреА IDE рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рд╣реИ рдФрд░ рдХрдИ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдПрдВрдЧреБрд▓рд░ рдореЗрдВ рдЖрд╕рд╛рди рдкреНрд░реАрдЯреАрдпрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП, рдПрдХ рд░реЗрдбреАрдореЗрдб рд╕реНрдХреАрдореИрдЯрд┐рдХреНрд╕ рд╣реИ
HTTP рдХреНрд▓рд╛рдЗрдВрдЯ Karin рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢рд╛рдмреНрджрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
(рдпрд╣ рдорд╛рдирдХ рддрдВрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ, рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИ)
RunJS - Node.JS (рдХреЗрд╡рд▓ macOS) рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░реИрдбрдкреИрдб
рд░реЛрдЪрдХ рд▓реЗрдЦ

рдорд╛рдЗрдХреНрд░реЛ-рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдЖрдкрдХреЗ рдХреЛрдгреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╣реА рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВ:
- рдХреЛрдгреАрдп рд╕реАрдПрд▓рдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
- рдЕрдкрдиреА рд╕рдВрдкрддреНрддрд┐ рдмреНрд░реЗрдЯрд▓реА / gzip рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░реЗрдВ
- рд▓реЛрдб-рдЪрд┐рд▓реНрдбреНрд░реЗрди рдХреЗ рд╕рд╛рде рдХреЛрдб-рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
- рдорд╛рд░реНрдЧреЛрдВ рдХреЛ рдкреВрд░реНрд╡рд╡рдд рдХрд░реЗрдВ
- рдХреЛрдгреАрдп рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
https://github.com/mgechev/angular-performance-checklist
ExpressionChangedAfterItHasBeenCheckedError

рдЖрдк рд╕рднреА рдХреЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ
https://blog.angularindepth.com/everything-you-need-to-know-about-the-expressionchangedafterithasbeencheckederror-error-e3fd9ce7dbb4
рдХреЛрдгреАрдп рдЗрдВрдЬреЗрдХреНрдЯрд░
рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдгреАрдп рд╣реБрдб рдХреЗ рддрд╣рдд рдмреНрд▓реВрдо рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЕрджреНрднреБрдд рд▓реЗрдЦ рд╣реИ рдЬреЛ рдЗрд╕ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рддрд╛ рд╣реИ:
https://llimllib.imtqy.com/bloomfilter-tutorial/
NgxFormly рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдЖрдпреЛрдЬрди
https://hackernoon.com/organize-your-forms-application-using-ngx-fomrly-796150461045
рдХреЛрдгреАрдп рдФрд░ NgxFormly рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐
https://itnext.io/error-handling-with-angular-6-and-ngx-formly-8272a3aa7871
рдХреЛрдгреАрдп рдореЛрдиреЛрд░реЗрдкреЛ

Nrwl рдиреЗ " Angular Enterprise Monorepo Patterns " рдкреБрд╕реНрддрдХ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреАред
https://go.nrwl.io/angular-enterprise-monorepo-patterns-new-book
рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЖрдЗрд╡реА

рдЖрдк рдЕрдм рдЖрдЗрд╡реА рдХреЛ рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдк рд░реЗрдбреАрдореЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
https://github.com/thekiba/angular-experimental-ivy
рдпрд╛ рдХреБрдЫ рдХрджрдо рдЦреБрдж рдХрд░реЗрдВ:
- рдЕрджреНрдпрддрди рдХреЛрдгреАрдп / рдХреНрд▓реА рдХреЛ 7.3.0-рдмреАрдЯрд╛.0
- рдПрдХ рдирдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ
- рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ 8.0.0-beta.0 рдХреЛрдгреАрдп рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
- Es5BrowserSupport рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдХреЛрдгреАрдп.json рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ
npm i -g @angular/cli@7.3.0-beta.0 ng new angular-ivy --experimentalIvy

рдХреНрд▓реЗрдореЗрдВрдЯ рдЖрд░рдпреВ рдиреЗ рдЖрдЗрд╡реА рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдПрдХ рдЕрджреНрднреБрдд рд╢реЛрдз рдХрд┐рдпрд╛, рдФрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗред
https://medium.com/ngx/angular-ivy-perfomance-f98e5ca2e45e
Ivy рдФрд░ AngularNYC

AngularNYC рдкрд░ рдЗрдЧреЛрд░ рдореАрдирд╛рд░ IVY рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВред
https://youtu.be/a3j5U5WVmUo
рдХреЛрдгреАрдп рдФрд░ рдмрд╛рдЬреЗрд▓

рдорд┐рдВрдХреЛ рдЧреЗрдЪреЗрд╡ рдХреЛрдгреАрдп рдФрд░ рдмрдЬрд╝реЗрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдирдП рдХрд▓реЗрдХреНрдЯрд░ рдХреА рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
https://youtu.be/vlIhnYnMAX0
Bazel

Bazel рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдХреЛрдгреАрдп рдХреА рд╡реГрджреНрдзрд┐ рдФрд░ рджреВрд░рд╕реНрде рдирд┐рд░реНрдорд╛рдгред
https://blog.nrwl.io/building-angular-applications-remotely-with-bazel-efc506e44726
рдкреЗрд╢ рд╣реИ рдЖрдпрдирд┐рдХ 4

рдЖрдЬ рдореИрдВ рдЖрдпреЛрдирд┐рдХ рдлреНрд░реЗрдорд╡рд░реНрдХ 4.0 рдХреА рд░рд┐рд▓реАрдЬ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рд╕рдиреНрди рд╣реВрдВ, рдЬрд┐рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ "рд╕рднреА рдХреЗ рд▓рд┐рдП рдЖрдпреЛрдирд┐рдХ" рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореИрдХреНрд╕ рд▓рд┐рдВрдЪ
https://blog.ionicframework.com/introducing-ionic-4-ionic-for-everyone/
NGRX 7

NGRX рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдЗрдЯ https://ngrx.io рд╣реИ ред
рдирдП рд╕рдВрд╕реНрдХрд░рдг рдиреЗ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛, рд╣рдореЗрдВ рдЪрдпрдирдХрд░реНрддрд╛ рд╕рд╣рд╛рд░рд╛ , рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ OnInitEffects рдФрд░ OnIdentifyEffects рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдпрд╛ ред рдЗрдХрд╛рдИ , рд░рд╛рдЙрдЯрд░ рд╕реНрдЯреЛрд░ рдФрд░ рд╕реНрдЯреЛрд░ рджреЗрд╡рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕рдорд░реНрдердиред
https://medium.com/@ngrx/announcing-ngrx-version-7-docs-testing-and-more-b43eee2795a4

рдиреЗрддрдирд▓ рдмрд╕рд╛рд▓ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреЛрдгреАрдп рдореЗрдВ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
https://netbasal.com/make-your-angular-forms-error-messages-magically-appear-1e32350b7fa5
рдЖрд░рдПрдХреНрд╕рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рд▓реЙрдиреНрдЪрдкреИрдб

рд╕реЗрдбреНрд░рд┐рдХ рд╕реЛрд▓рд╛рд╕ рдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓.рд╣реБ рдХреЛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓реЙрдиреНрдЪрдкреИрдб рдЬреЛрдбрд╝рд╛ рд╣реИред
- рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВ
- рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЛ
- рдЙрдирдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░реЗрдВ
https://reactive.how/rxjs/
рдпрджрд┐ рдЖрдкрдиреЗ рдЕрднреА рддрдХ рд╕рджрд╕реНрдпрддрд╛ рдирд╣реАрдВ рд▓реА рд╣реИ, рддреЛ рдореЗрд░реЗ рдЯреНрд╡рд┐рдЯрд░ рдФрд░ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдирд▓ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ, рд╕рд╛рде рд╣реА рдХреЛрдгреАрдп рджреБрдирд┐рдпрд╛ рдореЗрдВ рдирд╡реАрдирддрдо рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд░рд╛рдмрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕рдореВрд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ ред