рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрди рдХреЛ рд╕реНрдЯрд╛рд╡рд░реЛрдкреЛрд▓ рдореЗрдВ рдЕрдкрдиреА рдХрдВрдкрдиреА рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЦреЛрдЬ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреНрдпреЛрдВрдХрд┐ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдПрдХ рдмреБрджреНрдзрд┐рдорд╛рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдвреВрдВрдврдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рдФрд░ рдлрд┐рд░ рд╣рдордиреЗ рдПрдВрдЧреБрд▓рд░ рдПрдВрдб рдЬреЗрдПрд╕ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдВрдЯрд░реНрдирд╢рд┐рдк рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдпрд╣ рдПрдХ рд╡рдореНрд╕реА рд╡реЗрдореНрдкрддреА рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реИ, рдЬреЛ рдХрд┐ рдореБрдЭреЗ рдХреЛрдгреАрдп рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдЯреНрд░реЗрдб рдореА рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рдЙрдирдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рдЖрдЬ рддрдХ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЯреНрд░реЗрдб рдореА рдореЗрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдХреЛрдгреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рддрдХ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рд╣рдорд╛рд░реА рдЯреАрдо рдиреЗ рдХреЛрдб рд▓реЗрдЦрди рдорд╛рдирдХреЛрдВ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╕рд░реНрд╡реЛрддреНрддрдо рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рд╣реИред
рд▓реЗрдЦ рдЙрди рддрд░реАрдХреЛрдВ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рдо рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдкрд╛рда рдЬреНрдпрд╛рджрд╛рддрд░ рдХреЛрдгреАрдп, рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ, RxJs рдФрд░ @ ngrx / store рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрдзрд┐рдХ "рд╕реНрд╡рдЪреНрдЫ" рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ рдФрд░ рдкрдардиреАрдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
1) trackBy
рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ
ngFor
рдХреЛ рд▓реВрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
ngFor
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ
ngFor
,
trackBy
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЗрдЦреЗрдВ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛ред
рдХреНрдпреЛрдВ?
рдЬрдм рд╕рд░рдгреА рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рддреЛ рдХреЛрдгреАрдп рдкреВрд░реА рддрд░рд╣ рд╕реЗ DOM рдЯреНрд░реА рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк
trackBy
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдгреАрдп рд╕рдордЭ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреМрди рд╕рд╛ рддрддреНрд╡ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдХреЗрд╡рд▓ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП DOM рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдЧрд╛ред
рдиреЛрдЯ: рдирдерд╛рдиреЗрд▓ рдмрдЬрд▓
рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред [рдЗрдВрдЧреНрд▓реИрдВрдб]
рдХреЛ
<li *ngFor="let item of items;">{{ item }}</li>
рдХреЗ рдмрд╛рдж
2) рдХрд╛рд╕реНрдЯ рдпрд╛ рдЪрд▓реЛ?
рд╡реИрд░рд┐рдПрдмрд▓ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╕рдордп,
const
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдпрджрд┐ рд╡реЗ рдкреБрди: рдЕрд╕рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
рдХреНрдпреЛрдВ?
рд▓реЗрдЯ рдФрд░ рдХрд╛рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╣рд╛рдВ рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдЪрд░ рдХреЛ рдЕрдзрд┐рдХ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдпрд╣ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдПрдХ рд╕рдВрдХрд▓рди-рд╕рдордп рдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдХрд┐рд╕реА рдореВрд▓реНрдп рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдкреБрди: рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХреЛрдб рдХреА рдкрдардиреАрдпрддрд╛ рдореЗрдВ рднреА рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред
рдХреЛ
let car = 'ludicrous car'; let myCar = `My ${car}`; let yourCar = `Your ${car}`; if (iHaveMoreThanOneCar) { myCar = `${myCar}s`; } if (youHaveMoreThanOneCar) { yourCar = `${youCar}s`; }
рдХреЗ рдмрд╛рдж
3) рдкрд╛рдЗрдк рдХреА рддрд░рд╣ рдСрдкрд░реЗрдЯрд░реЛрдВ
RxJs
рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдкрд╛рдЗрдк рдЬреИрд╕реА рдХрдердиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдкрд╛рдЗрдк-рдЬреИрд╕реЗ рдСрдкрд░реЗрдЯрд░реЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд╣реА рдХреЛрдб рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрдкреНрд░рдпреБрдХреНрдд рдмрдпрд╛рдиреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рдиреЛрдЯ: рдХреЛрдгреАрдп 5.5 рдФрд░ рдКрдкрд░ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдХреЛ
import 'rxjs/add/operator/map'; import 'rxjs/add/operator/take'; iAmAnObservable .map(value => value.item) .take(1);
рдХреЗ рдмрд╛рдж
import { map, take } from 'rxjs/operators'; iAmAnObservable .pipe( map(value => value.item), take(1) );
4) рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╕рд╛рдЗрди рдЗрди рдХрд░реЗрдВ
рдШрдЯрдХреЛрдВ рд╕реЗ рдореЙрдирд┐рдЯрд░ рдХреА рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рд╕реЗ рдмрдЪреЗрдВ - рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЙрдиреНрд╣реЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВред
рдХреНрдпреЛрдВ?
async
рдлрд╝реАрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдП рдЧрдП рд╣реИрдВ, рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд╕рджрд╕реНрдпрддрд╛ рдкреНрд░рдмрдВрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рдШрдЯрдХ рдореЗрдВ рдЖрдХрд╕реНрдорд┐рдХ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рднреА рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдореЗрдореЛрд░реА рд░рд┐рд╕рд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдордирд╛рдпрд╛ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡реГрдХреНрд╖ рдирд┐рдпрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрдп рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рд░рд╣рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЬрдм рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рдмрд╛рд╣рд░ рдбреЗрдЯрд╛ рдмрджрд▓рддрд╛ рд╣реИ рддреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдХреЛ
рдХреЗ рдмрд╛рдж
5) рд╕реНрдкрд╖реНрдЯ рд╕рджрд╕реНрдпрддрд╛
рдореЙрдирд┐рдЯрд░ рдХреА рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╕рдордп, рд╣рдореЗрд╢рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рддрдм рдСрдкрд░реЗрдЯрд░реЛрдВ рд╕реЗ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░реЗрдВ рдЬреИрд╕реЗ рдХрд┐
take
,
takeUntil
, рдЖрджрд┐ред
рдХреНрдпреЛрдВ?
рдЕрд╡рд▓реЛрдХрди рдХреА рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рд╕реЗ рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░рдиреЗ рд╕реЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЕрд╡рд╛рдВрдЫрдиреАрдп рдореЗрдореЛрд░реА рд▓реАрдХреЗрдЬ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рдПрдВрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдСрдмреНрдЬрд░реНрд╡реНрдб рд╕реНрдЯреНрд░реАрдо рдЦреБрд▓реА рд░рд╣рддреА рд╣реИ, рд╢рд╛рдпрдж рддрдм рднреА рдЬрдм рдШрдЯрдХ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреЗрдЬ рдкрд░ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрд╡рд▓реЛрдХрдиреАрдп рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ
lint
рдирд┐рдпрдо рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕рджрд╕реНрдпрддрд╛ рдирд╣реАрдВ рд╣реИред
рдХреЛ
iAmAnObservable .pipe( map(value => value.item) ) .subscribe(item => this.textToDisplay = item);
рдХреЗ рдмрд╛рдж
private _destroyed$ = new Subject(); public ngOnInit (): void { iAmAnObservable .pipe( map(value => value.item)
рдЬрдм рддрдХ рдХрд┐рд╕реА рдЕрдиреНрдп рджреЗрдЦреА рдЧрдИ рд╡рд╕реНрддреБ рдХрд╛ рдореВрд▓реНрдп рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрддрд╛, рддрдм рддрдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП
takeUntil
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
iAmAnObservable .pipe( map(value => value.item), take(1), takeUntil(this._destroyed$) ) .subscribe(item => this.textToDisplay = item);
рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ
takeUntil
рдХреЗ рд╕рд╛рде рдиреЛрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╕реНрдореГрддрд┐ рд▓реАрдХ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдШрдЯрдХ рдХреЛ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рдХреЛрдИ рдореВрд▓реНрдп рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
takeUntil
рдмрд┐рдирд╛
takeUntil
рд╕рджрд╕реНрдпрддрд╛ рддрдм рднреА рдирд┐рд▓рдВрдмрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рд╣реЗрдЧреА, рдЬрдм рддрдХ рдХрд┐ рдЙрд╕реЗ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдШрдЯрдХ рдкрд╣рд▓реЗ рд╣реА рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХрднреА рднреА рдореВрд▓реНрдп рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛, рдФрд░ рдЗрд╕рд╕реЗ рдореЗрдореЛрд░реА рд▓реАрдХ рд╣реЛ рдЬрд╛рдПрдЧреАред
6) рдЖрд▓рд╕реА рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ
рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ, рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХреЗрд╡рд▓ рддрдм рдХрд░реЗрдВ рдЬрдм рд╡реЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реЛрдВред
рдХреНрдпреЛрдВ?
рдпрд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓реЛрдбрд┐рдВрдЧ рд╕рдордп рдХреЛ рдЫреЛрдЯрд╛ рдХрд░реЗрдЧрд╛ред
рдХреЛ
рдХреЗ рдмрд╛рдж
рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдирд┐рд░рдВрддрд░ рдЕрдиреБрд╡рд╛рджред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рдореВрд▓ рд▓реЗрдЦ рдХреА рдПрдХ
рдХрдбрд╝реА рд╣реИред