Angular: рдЕрдкрд╡рд╛рдж: рдЬрд╛рдБрдЪ рдХреЗ рдмрд╛рдж рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдмрджрд▓ рдЧрдИ рд╣реИред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рджрд┐рд╕ре░ 2015  ┬╖  147рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: angular/angular

рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ? http://plnkr.co/edit/nm8OkrpZCIp4cvA6TbpO?p=preview

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рдХреЛрдИ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджреЗрд╡ рдореЛрдб рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред enableProdMode( ) рдХреЙрд▓ рдХрд░рдирд╛ - рдРрдк рдХреЛ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХрд░рддреЗ рд╕рдордп рдЕрдкрдбреЗрдЯреЗрдб рдкреНрд▓рдВрдХ рджреЗрдЦреЗрдВ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдЗрд╕реЗ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдлреЗрдВрдХрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ: рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд╣рд░ рджреМрд░ рдХреЗ рдмрд╛рдж, рджреЗрд╡ рдореЛрдб рддреБрд░рдВрдд рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ рджреМрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдХреЗ рдЕрдВрдд рд╕реЗ рдХреЛрдИ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдирд╣реАрдВ рдмрджрд▓реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣реАред

рдЖрдкрдХреЗ рдкреНрд▓рдВрдХ рдореЗрдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╛рдзреНрдпрдХрд╛рд░реА [attr.spinner]=isLoading , рдФрд░ isLoading рдЖрдкрдХреЗ рдХреЙрд▓ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк this.load() , рдЬреЛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм ngAfterViewInit рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдмрд╛рд░реА рдХреЗ рдПрдХ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдирд╣реАрдВ рд╣реИ - рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ this.load() рдПрдХ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдПрдХ рдирдП рджреМрд░ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рддрдм рддрдХ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реЛрдЧреА рдЬрдм рддрдХ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рддрд╛ред

рд╕рднреА 147 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдмрдЪреНрдЪреЗ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдЕрдкрдиреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдЪреНрдЪреЗ рдХреЛ рдХреИрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдЬрд╝реЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрджрд╕реВрд░рдд рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рдирдореВрдирд╛ рд╣реИ: http://plnkr.co/edit/GI45u805pnFUtFeORnxn?p=preview , рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рддрд░рд╣ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ:

рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ (рдирд┐рдЬреА _рдЬрд╝реЛрди: рдПрдирдЬреАрдЬрд╝реЛрди) { }

ngAfterViewInit (): рд╢реВрдиреНрдп {
this._zone.overrideOnTurnDone(() => {
this.child.title = 'рдЕрднрд┐рднрд╛рд╡рдХ рд╕реЗ рд╢реАрд░реНрд╖рдХ';
});
}

рдпрд╣ рдХреЛрдИ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджреЗрд╡ рдореЛрдб рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред enableProdMode( ) рдХреЙрд▓ рдХрд░рдирд╛ - рдРрдк рдХреЛ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХрд░рддреЗ рд╕рдордп рдЕрдкрдбреЗрдЯреЗрдб рдкреНрд▓рдВрдХ рджреЗрдЦреЗрдВ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдЗрд╕реЗ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдлреЗрдВрдХрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ: рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд╣рд░ рджреМрд░ рдХреЗ рдмрд╛рдж, рджреЗрд╡ рдореЛрдб рддреБрд░рдВрдд рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ рджреМрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдХреЗ рдЕрдВрдд рд╕реЗ рдХреЛрдИ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдирд╣реАрдВ рдмрджрд▓реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣реАред

рдЖрдкрдХреЗ рдкреНрд▓рдВрдХ рдореЗрдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╛рдзреНрдпрдХрд╛рд░реА [attr.spinner]=isLoading , рдФрд░ isLoading рдЖрдкрдХреЗ рдХреЙрд▓ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк this.load() , рдЬреЛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм ngAfterViewInit рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдмрд╛рд░реА рдХреЗ рдПрдХ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдирд╣реАрдВ рд╣реИ - рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ this.load() рдПрдХ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдПрдХ рдирдП рджреМрд░ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рддрдм рддрдХ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реЛрдЧреА рдЬрдм рддрдХ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рддрд╛ред

рдореБрдЭреЗ рдЕрдкрдиреЗ рдШрдЯрдХ рдХреЛ afterViewInit рдореЗрдВ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ ChildView рдЬрд┐рд╕реЗ рдпрд╣рд╛рдВ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ isLoading рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ? рд░реИрдк рдХреЙрд▓ рдХреЛ this.load рджреНрд╡рд╛рд░рд╛ setTimeout ?

рдЖрдкрдХреЛ рдмрд╕ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдХреБрдЫ рднреА, рдЬреЛ рдЙрд╕ рд╡рд┐рдзрд┐ рдХреЗ рджреМрд░рд╛рди рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдПрдХ рдФрд░ рджреМрд░ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ - рдПрдХ рдШрдЯрдирд╛ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░реЗрдВ, рдЬреЛ рднреА рд╣реЛред рдЗрд╕реЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ (рдХрддрд╛рд░ рдлреНрд▓реИрд╢рдмреИрдХ рд╕реЗ рдПрдирдЬреА 1 :-рдкреА) рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдПрдирдЬреА 2 рдореЗрдВ рдореБрдЭреЗ рдмрд╣реБрдд рдЧрдиреНрджрд╛ рд▓рдЧрддрд╛ рд╣реИред

рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдореИрдВ рдЙрд╕ рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдореИрдВ рдЕрдкрдиреЗ рдШрдЯрдХ рдкреНрд░рд╛рд░рдВрдн рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрдм рдЙрд╕рдХреЗ рдмрдЪреНрдЪреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдм рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдХрд╕реНрдЯрдо рдирд┐рдпрдо рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдирдП рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ ng2 рдХреЗ рдЕрдВрджрд░ рдЫрд┐рдкрд╛ рд╣реЛред

рдХреНрдпрд╛ рдЖрдк рдпрд╣рд╛рдВ рдЬреЛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рдПрдХ рдФрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдирдореВрдирд╛ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрджрд┐ рдпрд╣ рдЖрдкрдХреА рдЫрд╡рд┐ рд╕реНрдкрд┐рдирд░ рд╣реИ, рддреЛ рдЖрдк рдорд╛рдирдХ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╕рдордЭреЗрдВрдЧреЗред

@AerisG222 рдареАрдХ рдпрд╣реА рдЖрдкрдХреЗ рд▓рд┐рдП рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмрд╛рдзреНрдпрдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдУрд╡рд░рд░рд╛рдЗрдбрд┐рдВрдЧ рдЬрд╝реЛрди рд╡реНрдпрд╡рд╣рд╛рд░ рдЖрдорддреМрд░ рдкрд░ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред

@robwormald рд╣рд╛рдБ, рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдореИрдВ рд╕рдВрдкрддреНрддрд┐ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдФрд░ рд╕рдВрдкрддреНрддрд┐ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ - рдХрд╕реНрдЯрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА, рд▓реЗрдХрд┐рди рд╡рд╣ рднреА рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдкрддреНрддрд┐ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ @ViewChild рдЬреИрд╕реА рдХреЛрдИ рдЪреАрдЬ рдирд╣реАрдВ рд╣реЛрддреА, рддреЛ рдореБрдЭреЗ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реЛрддреА, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рдЙрдЪрд┐рдд рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ @ViewChild рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрддреНрд╕рд╛рд╣рд┐рдд рдерд╛ рддрд╛рдХрд┐ рдореИрдВ рдХреЛрдб рдореЗрдВ рдШрдЯрдХ рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХреВрдВред рдпрд╣ рдорд╛рд░реНрдХрдЕрдк рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдореВрд▓реНрдпрд╡рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХ рдЯреВрд▓реАрдВрдЧ рд╕рдорд░реНрдерди (рдЬреИрд╕реЗ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рдФрд░ рд╕рдВрдХрд▓рди рд╕рдордп рдЬрд╛рдВрдЪ) рд╣реИред рдпрд╣ рдХрдВрдЯреЗрдирд░ рдШрдЯрдХ рдХреЛ рднреА рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╕рджрд╕реНрдп рдЪрд░ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреЗрд╡рд▓ рдмрдЪреНрдЪреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

рдПрдХ рдФрд░ рдЫреЛрдЯреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдкреНрд░реЙрдкрд░реНрдЯреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЕрдВрддрддрдГ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрднреЛрдЧ рдХреМрди рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╛рдпрд░реНрдб рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╕рд╛рдлрд╝ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рд╡рд┐рдЪрд╛рд░ рдХреЗрд╡рд▓ рд╕реНрдкрд┐рдирд░ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрдмрдХрд┐ рдЫрд╡рд┐ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реНрдкрд┐рдирд░ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдЫрд╡рд┐ рджрд┐рдЦрд╛рдПрдВред рдЫрд╡рд┐ рдХреЗрд╡рд▓ рддрднреА рд▓реЛрдб рд╣реЛрддреА рд╣реИ рдЬрдм рддрддреНрд╡ рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

inflate.ts

import {Component, Input, Renderer, ElementRef, AfterViewInit, ViewChild} from 'angular2/core';

@Component({
  selector: '[inflate]',
  templateUrl: './inflate.html',
  styleUrls: ['./inflate.css']
})
export class Inflate implements AfterViewInit {
  @Input('inflate') url: string;
  @ViewChild('holder') holder: ElementRef;
  isLoaded = false;
  isLoading = false;

  constructor(private renderer: Renderer) {}

  ngAfterViewInit() {
    setTimeout(_=> this.inflate()); // BUGFIX: https://github.com/angular/angular/issues/6005#issuecomment-165911194
  }

  inflate() {
    let bounds = <ClientRect>this.holder.nativeElement.getBoundingClientRect();
    if(bounds.bottom > 0 && bounds.top < window.innerHeight) {
      this.isLoading = true;
      let img = new Image();
      img.src = this.url;
      img.onload = _=> {
        this.isLoaded = true;
        this.isLoading = false;
        this.renderer.setElementStyle(this.holder,
          'background-image', 'url("' + this.url + '")');
      };
    }
  }
}

inflate.html

<image-holder #holder></image-holder>
<spinner *ngIf="isLoading"></spinner>

рдореБрдЭреЗ рдЫрд╡рд┐ рдХреЛ рд╣реЛрд╕реНрдЯ рдореЗрдВ рдирд╣реАрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдпрд╣ рдлреЗрдб-рдЗрди рд▓реЛрдб рдкрд░ рдПрдиреАрдореЗрд╢рди рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рд╣реЛрд╕реНрдЯ рдкреГрд╖реНрдарднреВрдорд┐ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдиреЗрд╕реНрдЯреЗрдб рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА рд╣реИред
http://plnkr.co/edit/myX2Alx9jie2q0FDIME7?p=preview
рдпрд╣рд╛рдВ рдореИрдВ рдкреНрд░реЛрдЧреНрд░реЗрд╕рдмрд╛рд░ рдореЗрдВ рдПрдирдЬреА рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реВрдВред
рдореИрдВ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реМрдЯрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдЯрд╛рдЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд▓реЙрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рдмрд░рд╛рдмрд░ рд╣реИрдВред
рдореБрдЭреЗ ExpressionChangedAfterItHasBeenCheckedException рднреА рдорд┐рд▓рддрд╛ рд╣реИред

@ svi3c рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ _рднрд┐рдиреНрди_ рд╡рд╕реНрддреБ рд▓реМрдЯрд╛ рд░рд╣реЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдПрдХ рдирдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд▓реМрдЯрд╛рдПрдЧрд╛ рдЬреЛ рдХрд┐ рдХреБрдВрдЬреА/рдорд╛рдиреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд╡рд╛рд▓реЗ рдХреЗ "рдмрд░рд╛рдмрд░" рд╣реИ рд▓реЗрдХрд┐рди рдЗрдВрд╕реНрдЯреЗрдВрд╕/рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд╣реАрдВред

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ:

  • рдПрдХ рдирдИ рдкреНрд░рддрд┐ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдореЗрдВ рдорд╛рди рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
  • ChangeDetectionStrategy.OnPush рд░рдгрдиреАрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рддрд╛рдХрд┐ рдЖрдкрдХрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЗрд╡рд▓ рддрднреА рд▓рд╛рдЧреВ рд╣реЛ рдЬрдм рдЗрдирдкреБрдЯ рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рдмрджрд▓рддрд╛ рд╣реИ, рдЙрджрд╛: http://plnkr.co/edit/NWyVoTtkiAzqWJphLMbi?p=preview

рдЖрдк https://github.com/ng-bootstrap/core/blob/master/src/progressbar/progressbar.ts рдХреЛ ng2 рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░реЗрд╕рдмрд╛рд░ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ (рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХреЗ HTML / CSS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)

@pkozlowski-opensource рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВрдиреЗ рдХреЗрд╡рд▓ https://angular.io/docs/ts/latest/guide/template-syntax.html#!#ngstyle рдкрдврд╝рд╛ рдФрд░ рдореИрдВ рдЕрднреА рддрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рд░рдгрдиреАрддрд┐рдпреЛрдВ рдкрд░ рдареЛрдХрд░ рдирд╣реАрдВ рдЦрд╛ рдкрд╛рдпрд╛ред рдПрдХ рджрдо рдмрдврд╝рд┐рдпрд╛! :)

@ рдбреНрд░реВ-рдореВрд░:

рдЖрдкрдХреЛ рдмрд╕ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдХреБрдЫ рднреА, рдЬреЛ рдЙрд╕ рд╡рд┐рдзрд┐ рдХреЗ рджреМрд░рд╛рди рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдПрдХ рдФрд░ рджреМрд░ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ - рдПрдХ рдШрдЯрдирд╛ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░реЗрдВ, рдЬреЛ рднреА рд╣реЛред

рдХреНрдпрд╛ рдЖрдк рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ ngAfterViewInit рдХреЗ рднреАрддрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _rect_ рдФрд░ _simplest_ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ - рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рд╡рд╣ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред ApplicationRef.tick() рдпрд╣рд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдХрд╛рд░рдг 'ApplicationRef.tick рдХреЛ рд░рд┐рдХрд░реНрд╕рд┐рд╡рд▓реА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ' рдЕрдкрд╡рд╛рдж; рдХреЗрд╡рд▓ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдкрд╣рдЪрд╛рди рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдЯрдирд╛ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░рдирд╛ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИ (рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛), рдФрд░ рдРрд╕рд╛ рд╣реА setTimeout ред

рдпрд╣рд╛рдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдпрд╣ ngAfterViewInit (рдПрдХ рдмрдЪреНрдЪреЗ рдХреЗ рдШрдЯрдХ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг) рдореЗрдВ рдПрдХ рдмрд╛рдзреНрдп рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдлреА рд╕рд╛рдорд╛рдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдгреАрдп 2 рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реИред

рдпрджрд┐ ngAfterViewInit рдореЗрдВ рдмрд╛рдЙрдВрдб рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ _рдЧрд▓рдд_ рдХрд╛рдо рд╣реИ, рддреЛ рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИ?

рдпрд╣рд╛рдБ рдПрдХ рддреНрд╡рд░рд┐рдд рд╣реИ:

рдЪреБрдиреМрддреА:
рдбреЛрдо рддрддреНрд╡ рдХреА рдКрдВрдЪрд╛рдИ (рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реВрддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдЗрд╕рдХреА рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдЪреМрдбрд╝рд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред

рдЕрдкреЗрдХреНрд╖рд╛:
рдЬрдм рддрддреНрд╡ рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЪреМрдбрд╝рд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЗрд╕рдХреА рдКрдВрдЪрд╛рдИ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВред

рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛:
рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ ?!

  ngAfterViewInit() {
    window.setTimeout(() =>
      this.elementHeight = (this.nativeElement.offsetWidth * this.randomImage.dim.h) / this.randomImage.dim.w
    )
  }

@ рдмрд┐рд░реЛрд╡реНрд╕реНрдХреА рдкреНрд▓рдВрдХрд░?

@zoechi рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ: http://plnkr.co/edit/MML5uHEFQdL0k0TA5HtY

рдЖрдк setTimeout рдХреЛ app/app.component.ts#21 рдореЗрдВ ngAfterViewInit рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдореЗрдВ рдЯреЙрдЧрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд╕реНрдЯрдо ngModel valueAccessor рдХреА writeValue( newValue ) рдкрджреНрдзрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореИрдВрдиреЗ рднреА рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИред рдЬрдм рдореИрдВ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╡реИрд▓реНрдпреВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдореБрдЭреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдореВрд▓реНрдп рдмрджрд▓ рдЧрдпрд╛ рд╣реИ (рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ)ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕рднреА рдиреЗ рдкрд╛рдпрд╛ рд╣реИ, рдЗрд╕реЗ рдПрдХ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ () рдореЗрдВ рд▓рдкреЗрдЯрдХрд░ рдЗрд╕реЗ "рдареАрдХ" рдХрд░рддрд╛ рд╣реИ; рд▓реЗрдХрд┐рди, рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рд╣реИ ред рдпрд╣ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ рдХрд┐ @HostBinding() рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ QueryList рджреНрд╡рд╛рд░рд╛ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореЗрд░реЗ рдореБрджреНрджреЗ # 5950 рдХреЗ рд╕рдорд╛рдиред

рдЗрд╕реЗ рд╕рдлрд╛рдИ рд╕реЗ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕ рдкрд░ рдпрд╣рд╛рдВ рдХреБрдЫ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВред
http://stackoverflow.com/questions/34827334/triggering-angular2-change-detection-manually

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдЕрднреА рднреА setTimeout рдореЗрдВ рд▓рдкреЗрдЯ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреЙрд▓рдмреИрдХ рдХреЗ рдЕрдВрдд рдореЗрдВ ChangeDetectorRef.detectChanges() рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рд╕реАрдбреА рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ .... рдХреНрдпрд╛ рдореИрдВ рдХреБрдЫ рднреВрд▓ рд░рд╣рд╛ рд╣реВрдБ? рд╢рд╛рдпрдж рдпрд╣ рдЖрдк рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ред

рдореИрдВ рд╡реАрдбрд┐рдпреЛ рддрддреНрд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдСрдбрд┐рдпреЛ рд╕рдВрджрд░реНрдн рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП HTML5 рдореАрдбрд┐рдпрд╛ рд╕реНрд░реЛрдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП @ViewChild рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдСрдбрд┐рдпреЛ рд╕рдВрджрд░реНрдн рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореИрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреИрд╕реЗ рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдЗрд╕реЗ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?

@ElsewhereGames рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рджреЗрдЦреЗ рдмрд┐рдирд╛ рдмрддрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдкреНрд▓рдВрдХрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ

@zoechi рдореЗрд░реЗ рдкрд╛рд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рдпрд╣ рдмрддрд╛рддреЗ рд╣реБрдП рдХрд┐ рд╕реАрдзреЗ рдбреАрдУрдПрдо рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд░рд╣рд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рдпрд╣ рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдЯрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ( @robwormald рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ)ред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП,

рдореИрдВрдиреЗ рдЬрдирд╡рд░реА рдореЗрдВ рдПрдХ _ngModel_ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред рдЕрдм, рдореИрдВ рдлрд┐рд░ рд╕реЗ _ViewChildren_ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реВрдБред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреЗ рдбреЗрдореЛ рдореЗрдВ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдорддрд▓рдм, рдореЗрд░реЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рдкрд╛рд╕ рд╢реВрдиреНрдп рддрд░реНрдХ рд╣реИ - рдпрд╣ рд╕рднреА рдореЗрдЯрд╛ рдбреЗрдЯрд╛ рд╣реИ рдФрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рджреЗрдЦреЗрдВред рдЬреИрд╕реЗ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЪреАрдЬреЛрдВ рдХреЛ рдЧрдбрд╝рдмрдбрд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдХрд╣рд╛рдВ рд╣реИ:

http://www.bennadel.com/blog/3040-i-have-a-fundamental-рдЧрд▓рддрдлрд╣рдореА-рдХреА-рдкрд░рд┐рд╡рд░реНрддрди-рдкрд╣рдЪрд╛рди-рдЗрди-angular-2-beta-8.htm

рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ @bennadel рдкреЛрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рд╣рдВрд╕реА

https://github.com/angular/angular/issues/6618

рдЕрдм рддрдХ рд╣рдореЗрд╢рд╛ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдкрд░рд┐рд╡рд░реНрддрди рдкрд╣рдЪрд╛рди рддрдВрддреНрд░ рдЕрдзрд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред @bennadel рдЖрдкрдХрд╛ рдореБрджреНрджрд╛ рдореБрдЭреЗ рдПрдХ рдФрд░ рдореБрджреНрджреЗ рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ,

https://github.com/angular/angular/issues/5177

рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреАрд╡рди рдЪрдХреНрд░ рд╣реБрдХ рдСрдирдмрд┐рдпрд░рдмрд╛рдЗрдВрдбрд┐рдВрдЧ/рдСрдирдмрд┐рдпрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рд╕рдорд╛рдзрд╛рди рд╕реЗ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рднреА рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧреАред

@tandu рдмрд╕ ngAfterViewInit рдХреЛ ngOnInit . рд╕реЗ рдмрджрд▓реЗрдВ

@tandu рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдкрдХрд╛ рд╕реНрдкрд┐рдирд░ рдХрдм рд╢реБрд░реВ рд╣реЛрдЧрд╛ (рдмрдЪреНрдЪреЗ рдХреЛ рд▓реЛрдб рдХрд░рдирд╛, рдмрдЪреНрдЪреЗ рдореЗрдВ рдЫрд╡рд┐ рд▓реЛрдб рдХрд░рдирд╛ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдм рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ), рдХреЗрд╡рд▓ рддрднреА рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред рдЖрдк рдЗрд╕реЗ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ (рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдпрд╣ рдмрджрд╕реВрд░рдд рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "ngAfterViewInit" рдореЗрдВ рдмрдВрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЧрд▓рдд рд╣реЛрдЧрд╛ - рдореВрд▓ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐ рд▓реЛрдбрд┐рдВрдЧ рдкреВрд░реНрдг рд╣реЛрдиреЗ рдкрд░ рдмрд╛рд▓ рдШрдЯрдХ рдХреЛ рдПрдХ рдШрдЯрдирд╛ рдХреЛ рдЖрдЧ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЪрд╛рдЗрд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯ рдФрд░ рд▓реЛрдбрд┐рдВрдЧ рдЗрдореЗрдЬ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЗрд╡реЗрдВрдЯ рд╣реИрдВред

@e-oz https://github.com/angular/angular/issues/6005#issuecomment -165951692 рдореИрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рдЗрд▓реНрдб рдмрд╛рдЙрдВрдб рдПрдХреНрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрдореЗрдЬ рд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@tandu рдФрд░ рдЖрдк рдЗрд╕ рд╕рднреА рдЪреЗрдХ рдХреЛ рдЪрд╛рдЗрд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛрдб рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣ рдЪрд╛рдЗрд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЗ ngAfterViewInit рдореЗрдВ рд╡реИрдз рд╣реЛрдЧрд╛) рдФрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдИрд╡реЗрдВрдЯ рднреЗрдЬрд╛, рдХрдм рдмрджрд▓рдирд╛ рд╣реИ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИред

@ e-oz рдореИрдВ html рдореЗрдВ рдШрдЯрдХ рдХреЛ #holder рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ: <image-holder #holder></image-holder> ред рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдмрдирд╛рдПрдВ, рдЕрдиреНрдпрдерд╛ ngAfterViewInit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рджреЗрдЦреЗрдВ
рдмрдЪреНрдЪреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдШрдЯрдХ рдирд╣реАрдВ рд╣реИрдВ - рдХреБрдЫ рднреА рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд░рд╡рд┐рд╡рд╛рд░, 13 рдорд╛рд░реНрдЪ 2016 рдХреЛ 15:18 рдмрдЬреЗ tandu [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

@e-oz https://github.com/e-oz рдореИрдВ рдШрдЯрдХ рдХреЛ html рдореЗрдВ #рдзрд╛рд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ:

рдзрд╛рд░рдХ>

. рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЬреЗрдПрд╕ рдлрд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/angular/angular/issues/6005#issuecomment -195963389ред

рдореИрдВ element.getElementsByTagsName рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЪрд╛рдЗрд▓реНрдбрдХрдВрдкреЛрдиреЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореМрдЬреВрдж рд╣реИрдВред рдореИрдВ setTimeout рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рддрд░реНрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рдмрд╛рд▓ рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдШрдЯрдХ рд╕реЗ рдмрдВрдзреЗ рд╣реЛрдВ рд▓реЗрдХрд┐рди рд╡рд┐рдзрд┐ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рддреА рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдкрд╣рдЪрд╛рди рдЪрдХреНрд░ рдХреЗ рдмреАрдЪ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓рдВрдмрд╛ рд╕рдордп рд╣реИ рд╡рд┐рднрд┐рдиреНрди рд▓реЛрдЧреЛрдВ рдХреА рд╢рд┐рдХрд╛рдпрддреЛрдВ рдХрд╛ рд╕рд┐рд▓рд╕рд┐рд▓рд╛ред

@tandu рдореИрдВ

рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдореВрд▓ рд╕рдорд╛рдзрд╛рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЙрдЪрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддрд░рд╣ рд▓рдЧрдиреЗ рд▓рдЧрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ:

    constructor(private _changeDetectionRef : ChangeDetectorRef) { }

    ngAfterViewInit() : void {
        // your code

        this._changeDetectionRef.detectChanges();
    }

рдлреЙрд░реНрдо рд╕рддреНрдпрд╛рдкрди (рдЖрд╡рд╢реНрдпрдХ рдЗрдирдкреБрдЯ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рд╡рд╣реА рдЕрдкрд╡рд╛рдж рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд?

рдкреНрд▓рдВрдХрд░: http://plnkr.co/edit/Fp6XT5mC6ZCB14Z1gvTi?p=preview

@eivindr рдХреА рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдереА рдФрд░ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдПрдХ рдЗрдирдкреБрдЯ рдкрд░ ngFormControl рдирд╣реАрдВ рджреЗрдЦрд╛ рдерд╛, рдпрд╣ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реЛрдЧрд╛ рдпрд╛ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рд╕рдореВрд╣ рдореЗрдВ рдмрд╛рдБрдзрдиреЗ рдХреЗ рд▓рд┐рдП рдлреЙрд░реНрдо рддрддреНрд╡ рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЗрдирдкреБрдЯ рдХрд╛ рдПрдХ рд╕рдорд╛рди рд╣реЛрдЧрд╛ рдПрдирдЬреАрдХрдВрдЯреНрд░реЛрд▓ред рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдкрдиреЗ рдкреНрд▓рдВрдХрд░ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ

 [ngFormControl]="formModel.find('title')" 

рдФрд░ рдпрд╣ рдЖрдкрдХреА рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рд╕реЗ рдЗрдВрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ :) рдХрд▓, рдореИрдВ рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдХрд┐ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣реЛрд╕реНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдереА рдЬреЛ рдЗрдирдкреБрдЯ рдЧреБрдгреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ:

http://www.bennadel.com/blog/3056-host-bindings-are-breaking-the-ngmodel-bridge-in-angular-2-beta-11.htm

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдПрдХ рдмрдЧ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдШрдЯрдХ рдореЗрдВ рджреЛ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рдЗрдирдкреБрдЯ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИрдВ - рджреГрд╢реНрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рдФрд░ рд╣реЛрд╕реНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ - рдФрд░ _рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ_ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдкрд╡рд╛рдж рдХрд╛ рдХрд╛рд░рдг рдмрди рд░рд╣рд╛ рд╣реИред рдЕрдЧрд░ рдЙрди рджреЛрдиреЛрдВ рдиреЗ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХреА, рддреЛ рдореИрдВ рдХреБрдЫ рдФрд░ рд╕реЛрдЪреВрдВрдЧрд╛; рд▓реЗрдХрд┐рди, рдЪреВрдВрдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдПрдХ рдмрдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛?

@eivindr рдореЗрд░реЗ рдкрд╛рд╕ рднреА рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрдм рдПрдХ рдЦрд╛рд▓реА рдлреЙрд░реНрдо рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдлреЙрд░реНрдо рдХреЗ рдореВрд▓реНрдп рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреЛрдИ рдХрд╛рдордХрд╛рдЬ рдорд┐рд▓рд╛?

@MarkPerryBV рдирд╣реАрдВ, рдореБрдЭреЗ рдЕрднреА рднреА "рдЪреЗрдХ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдмрджрд▓ рдЧрдпрд╛ рд╣реИ" рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдкреИрдЯрд░реНрди рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╡рд╣реАред рд▓реЗрдХрд┐рди minLength рдЖрджрд┐ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@ user414 рдЕрдЧрд░ рдореИрдВ [ngFormControl] рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ ... рдЗрдирдкреБрдЯ рдкрд░ рдХреЛрдИ "рдЖрд╡рд╢реНрдпрдХ" рд╕рддреНрдпрд╛рдкрди рдирд╣реАрдВ рд╣реИред

@MarkPerryBV рдореБрдЭреЗ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдорд┐рд▓рд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЕрднреА рдХреЗ рд▓рд┐рдП)ред рдореБрдЭреЗ ProdMode() рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдерд╛ред рдореИрдВ рдЗрдирдкреБрдЯ рдкрд░ рдПрдирдЬреАрдЖрдИрдПрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЗрдирдкреБрдЯ рдХреЗ рдкреНрд░рд╕реНрддреБрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдПрдХ рдЪреЗрдВрдЬрдбреЗрдХреНрдЯрд░рд░рдл.рдбрд┐рдЯреЗрдХреНрдЯ рдЪреЗрдВрдЬ() рднреА рдХрд░рдирд╛ рдкрдбрд╝рд╛ (рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╕рд╛рдордЧреНрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж рдЗрдирдкреБрдЯ рдЕрдорд╛рдиреНрдп рдерд╛)ред

enableProdMode() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рдХреЗрд╡рд▓ рд▓рдХреНрд╖рдг рдХреЛ рдбрдмрд▓-рдЪреЗрдХ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдХрд░ рдФрд░ рдЖрдкрдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реИред

AerisG222 рдХрд╛ рд╕реБрдзрд╛рд░ setTimeout рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд▓рдЧрддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдорд▓рд╛ рд╣реИ рдХрд┐ рдЗрдЪреНрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╡реИрдзрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде addControl() рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдкрд╣рдЪрд╛рди рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реИ?

AddControl() рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣рд╛рдВ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ addControl() рдХреЛ ChangeDetectionRef.detectChanges() рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@CaptainCodeman рдореБрдЭреЗ рдкрддрд╛ рд╣реИ - рдпрд╣ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди рдерд╛ред

рдЬрдм рдореИрдВ ng2@beta17 , [email protected] , рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдпрд╣ рджреЗрд╡ рдореЛрдб рдореЗрдВ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЬреЗрдПрд╕@0.6.12. рдореБрдЭреЗ рдЕрднреА рднреА ChangeDetectionRef.detectChanges () рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИ

@eivindr рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ plnkr рдХреЛ рдмреАрдЯрд╛17 рдлрд┐рдХреНрд╕ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдореИрдВ рдЗрд╕ рдкрд░ рдЕрдкрдирд╛ рджрд┐рдорд╛рдЧ рдЦреЛ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВ enableProdMode() рдХреЛ рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВред

@ AerisG222 рдЖрдкрдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ @AerisG222 рдиреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ? рд╣рд╛рдБ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ changeDetectionRef.detectChanges() рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╡рд┐рд╡реЗрдХ рд╣реИ?

рдбрд╛рдпрдирд╛рдорд┐рдХ рдлреЙрд░реНрдо рд╕рддреНрдпрд╛рдкрди рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рдлреЙрд░реНрдо рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдкреНрд▓рдВрдХ рд╣реИ

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдгред рдЗрдЬрд╝ рдПрдореНрдкреНрд▓реЙрдИ рдЪреЗрдХреНрдб рдХреЗ рд╕рд╛рде рдлреЙрд░реНрдо рдЬрдорд╛ рдХрд░реЗрдВред рдлреЙрд░реНрдо рд░рд┐рдлреНрд░реЗрд╢ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЗрдЬрд╝ рдПрдореНрдкреНрд▓реЙрдИ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪреЗрдХ рдХрд░реЗрдВред

рдореИрдВ рд╕рдмрдорд┐рдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ changeDetectionRef.detectChanges() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @AerisG222 :)

рдореБрдЭреЗ рд╡рд╣ рд╕рдм рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИред рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ:

http://plnkr.co/edit/9umnTGsdFWhbaOBeftuZ?p=preview

ChangeDetectorRef.detectChanges рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреНрдпреЛрдВ:

рдЕрднрд┐рднрд╛рд╡рдХ рдШрдЯрдХ рдЕрдкрдиреЗ ngAfterViewInit рджреМрд░рд╛рди рдмрдЪреНрдЪреЗ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ API рдХрд╣рддреЗ рд╣реИрдВред рдпрд╣ рдХреЙрд▓ рдмрдЪреНрдЪреЗ рдХреЗ рдмрдВрдзрди рдХреЛ рдмрджрд▓ рджреЗрддреА рд╣реИред рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ detectChanges рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рднреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдпрд╣ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ detectChanges рдХреЛ рдХрдм рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдмрдЪреНрдЪреЗ рдХрд╛ API рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИред рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЬрдм рдЖрдк ChangeDetectionStrategy.OnPush рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдХреЛ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реЗ рдмрдЪреНрдЪреЗ рд╡рд┐рдзрд┐ рдореЗрдВ detectChanges рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдЬрдм рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ ViewContainerRef.createComponent() рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдЪреНрдЪреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдлрд┐рд░ рдмрдЪреНрдЪреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ред рдореИрдВ RC2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдФрд░ рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ)ред

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдмрд╛рдд рдареАрдХ рдХрд╛рдо рдХрд░рддреА рдереА (рдкрд╣рд▓реЗ рд░реЗрдВрдбрд░), рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореИрдВрдиреЗ рдПрдХ рдШрдЯрдХ рдЬреЛрдбрд╝рд╛ рдЬреЛ рдирдП рдбреЗрдЯрд╛ рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░реЗрдЧрд╛ред рдЗрд╕ рдШрдЯрдирд╛ рдХреЛ рдкреИрд░реЗрдВрдЯ рдХрдВрдкреЛрдиреЗрдВрдЯ рдиреЗ рд╕реБрдирд╛ рдерд╛, рдЬрд┐рд╕рдиреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдРрд░реЗ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд┐рд╕рд╕реЗ рдЪреЗрдВрдЬ рдбрд┐рдЯреЗрдХреНрд╢рди рдФрд░ рдирдП рдбрд╛рдпрдиреЗрдорд┐рдХ рдЪрд╛рдЗрд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреА рдЖрдмрд╛рджреА рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдШрдЯрдирд╛ рдХреЛ рдПрдХ рдлреЙрд░реНрдо рд╕рдмрдорд┐рдЯ рджреНрд╡рд╛рд░рд╛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдЧрд░ рдореИрдВрдиреЗ рд╕рдмрдорд┐рдЯ рдмрдЯрди рджрдмрд╛рдпрд╛, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рдерд╛ред рдЕрдЧрд░ рдореИрдВ рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдЯрд░ рджрдмрд╛рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред

рдореИрдВрдиреЗ рдЧрддрд┐рд╢реАрд▓ рдШрдЯрдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЕрджреНрдпрддрди рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж ChangeDetectorRef.detectChanges() рдЬреЛрдбрд╝рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ред рдХреЛрдИ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рднрд▓реЗ рд╣реА рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдШрдЯрдХ рдЬреЛрдбрд╝рд╛ рд╣реИ, рд╕рд┐рд╕реНрдЯрдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдЪреНрдЪреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@ aerisg222 рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред_changeDetectionRef.detectChanges() рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдмрдЪреНрдЪреЗ рдХреА рд╕рдВрдкрддреНрддрд┐ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж?

рдЦреИрд░ рдореБрдЭреЗ рдЕрднреА рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЛ рднрд╛рдИ рдШрдЯрдХ рд╣реИрдВред рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред рджреВрд╕рд░рд╛ рд╕реНрд░реЛрдд рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╕реНрддреБ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рджреЗрдЦрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рдмрд╛рдж рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рдкрд┐рдЫрд▓рд╛ рдорд╛рди: 'рд╕рддреНрдп'ред рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп: 'рдЧрд▓рдд'

RC1 рд╕реЗ RC4 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореЗрд░реЗ рд╕рд╛рде рдРрд╕рд╛ рд╣реБрдЖ

рдореЗрд░рд╛ рднреА рдпрд╣реА рд╡рд┐рдЪрд╛рд░ рд╣реИред RC1 рд╕реЗ RC4 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдорд┐рд▓рдирд╛ рд╢реБрд░реВ рд╣реБрдЖред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкрд░рд┐рд╡рд░реНрддрди рд▓реЙрдЧ рдореЗрдВ рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ ... рдХреБрдЬрд╝ рдореЗрд░рд╛ рд╕рд╛рдорд╛рди рдЕрдм рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИред

рд╣рдореЗрдВ рдлрд╛рдЗрдирд▓ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдореИрдВрдиреЗ рдмрд╛рд▓ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рд╣рд░реА рдЧреБрдгреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рдмреЗрдХрд╛рд░ рд╣реИред
рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдЬрд╝реЛрди рдЙрд╕рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рдереЗ ...

рдореЗрд░рд╛ рднреА рдпрд╣реА рд╡рд┐рдЪрд╛рд░ рд╣реИред ViewComponentRef рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЧрддрд┐рд╢реАрд▓ рдШрдЯрдХ рд▓реЛрдбрд┐рдВрдЧ RC2 рдФрд░ RC4 рдореЗрдВ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЙрд╕рдиреЗ RC1 рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛

рдпрд╣рд╛рдБ рдореЗрд░реА рдХрд╛рд░реНрдп рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╣реИрдВ:
"рдирд┐рд░реНрднрд░рддрд╛": {
"@ рдХреЛрдгреАрдп/рд╕рд╛рдорд╛рдиреНрдп": "2.0.0-рдЖрд░рд╕реА.1",
"@ рдХреЛрдгреАрдп/рд╕рдВрдХрд▓рдХ": "2.0.0-рдЖрд░рд╕реА.1",
"@ рдХреЛрдгреАрдп/рдХреЛрд░": "2.0.0-рдЖрд░рд╕реА.1",
"@ рдХреЛрдгреАрдп/http": "2.0.0-рдЖрд░рд╕реА.1",
"@ рдХреЛрдгреАрдп/рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдмреНрд░рд╛рдЙрдЬрд╝рд░": "2.0.0-рдЖрд░рд╕реА.1",
"@ рдХреЛрдгреАрдп/рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЧрддрд┐рд╢реАрд▓": "2.0.0-рдЖрд░рд╕реА.1",
"рд╕рд┐рд╕реНрдЯрдордЬ": "0.19.31",
"рдХреЛрд░-рдЬреЗрдПрд╕": "^2.4.0",
"рдкреНрд░рддрд┐рдмрд┐рдВрдм-рдореЗрдЯрд╛рдбреЗрдЯрд╛": "^0.1.3",
"рдЖрд░рдПрдХреНрд╕рдЬреЗрдПрд╕": "5.0.0-рдмреАрдЯрд╛.6",
"рдЬрд╝реЛрди.рдЬреЗрдПрд╕": "^0.6.12"
},
"рджреЗрд╡ рдирд┐рд░реНрднрд░рддрд╛": {
"рдЯрд╛рдЗрдкрдкреНрд░рддрд┐": "^1.8.10",
"рдЯрд╛рдЗрдкрд┐рдВрдЧ": "^ 1.0.4",
"рд╕рдорд╡рд░реНрддреА": "^ 2.2.0",
"рд▓рд╛рдЗрдЯ-рд╕рд░реНрд╡рд░": "^ 2.2.2"
}

рдФрд░ рдпрд╣рд╛рдВ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣реА рд╣реИрдВ:
"рдирд┐рд░реНрднрд░рддрд╛": {
"@ рдХреЛрдгреАрдп/рд╕рд╛рдорд╛рдиреНрдп": "2.0.0-рдЖрд░рд╕реА.4",
"@ рдХреЛрдгреАрдп/рд╕рдВрдХрд▓рдХ": "2.0.0-рдЖрд░рд╕реА.4",
"@ рдХреЛрдгреАрдп/рдХреЛрд░": "2.0.0-рдЖрд░рд╕реА.4",
"@ рдХреЛрдгреАрдп/http": "2.0.0-рдЖрд░рд╕реА.4",
"@ рдХреЛрдгреАрдп/рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдмреНрд░рд╛рдЙрдЬрд╝рд░": "2.0.0-рдЖрд░рд╕реА.4",
"@ рдХреЛрдгреАрдп/рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЧрддрд┐рд╢реАрд▓": "2.0.0-рдЖрд░рд╕реА.4",
"рд╕рд┐рд╕реНрдЯрдордЬ": "0.19.31",
"рдХреЛрд░-рдЬреЗрдПрд╕": "^2.4.0",
"рдкреНрд░рддрд┐рдмрд┐рдВрдм-рдореЗрдЯрд╛рдбреЗрдЯрд╛": "^0.1.3",
"рдЖрд░рдПрдХреНрд╕рдЬреЗрдПрд╕": "5.0.0-рдмреАрдЯрд╛.6",
"рдЬрд╝реЛрди.рдЬреЗрдПрд╕": "^0.6.12"
},
"рджреЗрд╡ рдирд┐рд░реНрднрд░рддрд╛": {
"рдЯрд╛рдЗрдкрдкреНрд░рддрд┐": "^1.8.10",
"рдЯрд╛рдЗрдкрд┐рдВрдЧ": "^ 1.0.4",
"рд╕рдорд╡рд░реНрддреА": "^ 2.2.0",
"рд▓рд╛рдЗрдЯ-рд╕рд░реНрд╡рд░": "^ 2.2.2"
}

RC2 рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ!

рдмрд╕ рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ "рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐" рдХреНрдпрд╛ рд╣реИ рдЬрдм рддреНрд░реБрдЯрд┐ рдХрд╣рддреА рд╣реИ "рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 'рд╕рддреНрдп' рд╕реЗ 'рдЭреВрдареА' рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ!ред

RC1 рд╕реЗ RC4 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореБрдЭреЗ рдареАрдХ рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдФрд░ рдЬреЛ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рд╡рд╣ рдореЗрд░реЗ рдШрдЯрдХ рдореЗрдВ ngOnInit рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрд╛рд░рдг рд╣реИред рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрд░рд╛рдирд╛ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдмрдВрдж рдХрд░рддреЗ рд╣реБрдП рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЧрдИ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдФрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рднрд░реЗрдВред рдзрдиреНрдпрд╡рд╛рдж

рд▓реЗрдХрд┐рди рд▓реЛрдЧ рдХрд╣ рд░рд╣реЗ рдереЗ рдХрд┐ рд╡реЗ рдЕрднреА рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдирдП рдЖрд░рд╕реА рдореЗрдВ рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВ ...

рдмреБрдзрд╡рд╛рд░, 13 рдЬреБрд▓рд╛рдИ 2016 рдХреЛ 00:52 рдмрдЬреЗ, рд╡рд┐рдХреНрдЯрд░ рдмрд░реНрдЪреЗрдЯ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдмрдВрдж #6005 https://github.com/angular/angular/issues/6005ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/angular/angular/issues/6005#event -720794445, рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe/AAgIEFEVZmE0M53XxNpzAYg9hJT_E_viks5qVAyGgaJpZM4G4J_s
.

рд╣рд╛рдВ, рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА RC4 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдирдП рд░рд╛рдЙрдЯрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рдШрдЯрдХ рдореЗрдВ рдПрдХ рднреА рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред RC1 рдореЗрдВ рдпрд╣ рд╕рдм рдЕрдЪреНрдЫрд╛ рдерд╛, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдЖрд╕рдкрд╛рд╕ рд╣реИред

рдФрд░ рдЬрд╛рдирдХрд╛рд░реА:

рдпрд╣ async рдЕрдВрджрд░ ngOnInit рдХреЙрд▓ рдХреЗ рдХрд╛рд░рдг рдирд┐рдХрд▓рддрд╛ рд╣реИ, рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИред рдЕрдЧрд░ рдореИрдВ рдПрд╕рд┐рдВрдХ рдХреЙрд▓ рдХреЛрдб рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реВрдВ рдпрд╛ рдХреЛрдб рдХреЗ рдЙрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рддрд╛ рд╣реВрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@ рдЕрдореНрдорд╛рд░91
рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ:
рдЪреЗрдВрдЬ рдбрд┐рдЯреЗрдХреНрд╢рди рд░реЗрдлред рдбрд┐рдЯреЗрдХреНрдЯ рдЪреЗрдВрдЬ ()

@ zigzag95 рд╣рд╛рдБ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реБрдкрд░

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рддрдм рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЬрдм рдореИрдВ рдкреНрд░реЛрдЧреНрд░реЗрд╕рдмрд╛рд░ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдФрд░ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП app.component.ts рдореЗрдВ рдХреЛрдгреАрдп рдШрдЯрдирд╛ рдЙрддреНрд╕рд░реНрдЬрдХ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд░рд╣рд╛ рд╣реВрдВред RC1 рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдм рдЕрдЪреНрдЫрд╛ рдерд╛ рд▓реЗрдХрд┐рди RC4 рдореЗрдВ рдЯреВрдЯ рдЧрдпрд╛ред

рдпрд╣рд╛рдБ рд░реЗрдкреНрд░реЛ рд╣реИ, http://plnkr.co/edit/jEtfUrQdc4sJBySj5kWN?p=preview
рд╣реАрд░реЛрдЬ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдПрдХ рдирд╛рдпрдХ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреЛ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред
рдХреГрдкрдпрд╛ app.component.ts рдФрд░ hero.service.ts . рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рджреЗрдЦреЗрдВ

рдЕрд░реЗ @vicb , рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдЖрдк рд╣рдореЗрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЧрдИ рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

рдПрдХ рдФрд░ рд╕рд░рд▓ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рд╣реИ рдорд╛рди рдХреЛ рдЕрд╡рд▓реЛрдХрди рдпреЛрдЧреНрдп рдФрд░ рд╡рд┐рд▓рдВрдмрд┐рдд рдЙрддреНрд╕рд░реНрдЬрдХ рдорд╛рдиреЛрдВ рдХреЛ 10ms рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдкрд╡рд╛рдж рд╕реНрдкрд┐рдирд░ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рд╣реЛ рд░рд╣рд╛ рдерд╛
<app-spinner *ngIf="spinner"></app-spinner>

  this.eventService.toggleSpinnerAnnounced$.subscribe(
      (show: boolean) => this.spinner = show
    );

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛:

private spinner = new Subject<boolean>();
toggleSpinnerAnnounced$ = this.spinner.asObservable().delay(10); // This  delay() is important

announceSpinnerToggle(show: boolean) {
        this.spinner.next(show);
    }

рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рджреЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдпрд╣ рджреЗрдЦрдиреЗ рдпреЛрдЧреНрдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред
рд╕реНрдЯреЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХрд╛ рд╡рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрдЧрд╛ред

@Jarvens рдХреГрдкрдпрд╛ рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЕрдиреБрдЪрд┐рдд рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВред

рдЧрд┐рдЯрд╣рдм рдореБрджреНрджреЗ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдФрд░ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИрдВред
рд╕рдорд░реНрдерди рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ рдЕрдиреНрдп рдЪреИрдирд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреИрд╕реЗ рдХрд┐ CONTRIBUTING рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдЪреИрдирд▓

рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдирд┐рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреА рд╣реИред

рдПрдлрд╡рд╛рдИрдЖрдИ: рдХреНрд░реЛрдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди ng-inspector for AngularJS (рдмрддрд░рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдгреАрдп 1 рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рдХрд▓реНрдк) рдХреЗ рдХрд╛рд░рдг рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рд╣реИ

рдпрд╣ рдкрд╛рдЧрд▓ рд╣реИ! рдкреВрд░реЗ рд╕реВрддреНрд░ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рддрдп рд╣реБрдИ рд╡рд╣ рдПрдВрдЧреБрд▓рд░рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рдПрдирдЬреА-рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд░рд╣реА рдереА рдЬреИрд╕рд╛ рдХрд┐ @ рдХрд╛рд░реНрд▓ рдЧреБрд╕реНрддрд╛рд╡-рдпреВрдирд┐рдорд╛рдЗрдХреНрд░реЛ рдХрд╣рддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА ChangeDetectorRef.detectChanges() рдиреЗ рднреА рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИрдХреА рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ред

@pkozlowski-рдУрдкрдирд╕реЛрд░реНрд╕,
рдореБрдЭреЗ рдЕрднреА рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬрдм рдЗрдирдкреБрдЯ рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рдмрджрд▓рддрд╛ рд╣реИ рддреЛ indicatorStyle() рдХреНрдпреЛрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛,
рдХреНрдпрд╛ рдЖрдк рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?
рдЕрдЧрд░ рдореИрдВ рдкреИрд░реЗрдВрдЯ рдХрдВрдкреЛрдиреЗрдВрдЯ рдореЗрдВ ChangeDetectionStrategy.OnPush рд╕реЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ _рдкреНрд░рдЧрддрд┐-рдмрд╛рд░ рдШрдЯрдХ_ рдореЗрдВ ngDoCheck рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реВрдВ,
рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ ngDoCheck рдирд┐рд╖реНрдкрд╛рджрди рджреЛ рдмрд╛рд░,
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЛ рдХреНрдпреЛрдВ рдорд╛рд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛,
рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреВрд╕рд░реЗ ngDoCheck рдмрд╛рд░реЗ рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВ ...

http://plnkr.co/edit/myX2Alx9jie2q0FDIME7?p=preview

@LiTiang ,

рдореБрдЭреЗ рдЕрднреА рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬрдм рдХреЛрдИ рдЗрдирдкреБрдЯ рдмрджрд▓рддрд╛ рд╣реИ рддреЛ рд╕рдВрдХреЗрддрдХ рд╕реНрдЯрд╛рдЗрд▓() рдХреНрдпреЛрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛,
рдХреНрдпрд╛ рдЖрдк рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

рдЪреВрдВрдХрд┐ indicatorStyle() рджреГрд╢реНрдп рдореЗрдВ [ngStyle] рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИ,

рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ ngDoCheck рдирд┐рд╖реНрдкрд╛рджрди рджреЛ рдмрд╛рд░,
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЛ рдХреНрдпреЛрдВ рдорд╛рд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛,
рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреВрд╕рд░реЗ ngDoCheck рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдБ ...

рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣рдореЗрд╢рд╛ рджреЗрд╡ рдореЛрдб рдореЗрдВ рджреЛ рдмрд╛рд░ рдЪрд▓рддрд╛ рд╣реИред рдпрд╣ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХреЛрдб рдирд╣реАрдВ рд╣реИ рдЬреЛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдмрджрд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рдмрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИред

рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдкрд░ рдПрдХ рднрд┐рдиреНрдирддрд╛ ()

рдЕрджреНрдпрддрди: рд╕реАрдкреАрдпреВ рд╕рд╛рдереА рдХреЗ рдмрд┐рдирд╛ 100% рдкрд╛рдЧрд▓ рд╣реЛ рдЧрдпрд╛ рд╣рд╛рдЗрдЯрд▓рд╛рд╕реНрдЯ рддреБрд▓рдирд╛: AFAIK рдЕрдкрдбреЗрдЯ рд░рд┐рдХрд░реНрд╕рд┐рд╡ рдЬрд╛ рд░рд╣реЗ рдереЗ!

рдЕрджреНрдпрддрди 2: рдкреНрд▓рдВрдХрд░ рдЙрджрд╛рд╣рд░рдг

рдореИрдВ рдПрдХ рдХреА рдКрдВрдЪрд╛рдИ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрддрд┐рд╢реАрд▓ <ul> рдмреНрд▓реЙрдХ рдХреА рдКрдВрдЪрд╛рдИ рдЪрд╛рд╣рддрд╛ рдерд╛ <img> рдореИрдВ "companionHeight" рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реВрдВред

рдЗрддрдирд╛ рдмреБрд░рд╛... рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ред

рдпрд╣рд╛рдБ <ul> рддрддреНрд╡ рд╣реИ рдЬрд┐рд╕рдХреА рдКрдВрдЪрд╛рдИ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ:

<ul class="title-list-ul" #listul (window:resize)="setCompanionHeight(listul)">

рдпрд╣рд╛рдБ <img> рддрддреНрд╡ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ:

<img class="title-list-companion-img" [src]="getCompanionImageURL()" [height]="companionHeight"/>

рдпрд╣рд╛рдБ рдШрдЯрдХ рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ рдЬреЛ рдкрд░рд╕реНрдкрд░ рдХреНрд░рд┐рдпрд╛ рдХрд░рддреА рд╣реИрдВ:

import { Component, OnInit, AfterViewChecked, ElementRef } from '@angular/core';  // redacted
import { Observable } from 'rxjs';

@Component({
  selector: 'resume-title-list',
  templateUrl: './title-list.component.html',
  styleUrls: ['./title-list.component.scss']
})
export class TitleListComponent implements OnInit, AfterViewChecked {

  private error: Object;
  private companionHeight: number = 0;
  private companionHeightLast: number = 0;

   // Lots of irrelevant stuff like ngInit redacted for simplicity.

  constructor(private elementRef: ElementRef) { }  // redacted, mine is more complicated.

  setCompanionHeight(listElement: any) {
    let clientRect = listElement.getBoundingClientRect();
    if (clientRect) {
      this.companionHeight = clientRect["height"];
    }
  }

  // window::resize only happens when the window is resized: This is an initialization 
  // function that sets the initial size of the image... Without it the image height is 
  // initially zero and the image is not shown. 
  // The height was not correct in ngAfterViewInit, so I used ngAfterViewChecked instead.

  ngAfterViewChecked() {
    let ularray = this.elementRef.nativeElement.getElementsByClassName("title-list-ul");
    if (ularray && ularray.length > 0) {
        let h = ularray[0].getBoundingClientRect().height;
        if (h && h != this.companionHeightLast) {
          this.companionHeightLast = h;
          Observable
          .of(h)
          .delay(10)
          .subscribe(h => this.companionHeight = h,
                     error => this.error = error);
        }
    }
  }
}

рдмрдВрдж рдореБрджреНрджреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдПрдВрдЧреБрд▓рд░ рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдкрдврд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред
рдЗрди рдЪреИрдирд▓реЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдореЗрдВ рдПрдХ рдкреНрд░рд╢реНрди рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдпреЛрдЧрджрд╛рди - рдХреЛрдИ рдкреНрд░рд╢реНрди рдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдВрдХрд░ рдХреЗ рд╕рд╛рде?

рдореБрдЭреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереА:

<div *ngIf="isLoading">
   <app-some-viewchild></app-some-viewchild>
</div>

Usin [hidden] рдЗрд╕рдХреЗ рдмрдЬрд╛рдп *ngIf рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдВред

рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдорд┐рд▓рд╛ рдерд╛ред рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ ngModle рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдирд┐рд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдорд╛рди рд╣реИред

changeDetection: ChangeDetectionStrategy.OnPush рдХреЛ @Component рдбреЗрдХреЛрд░реЗрдЯрд░ рдиреЗ рдЗрд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рддрдп рдХрд┐рдпрд╛

@elvismercado рдзрдиреНрдпрд╡рд╛рдж, 2.1.1 рдореЗрдВ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ!

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЪрд╛рдЗрд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯ рдерд╛ рдЬреЛ рдкреИрд░реЗрдВрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рдорд╛рди рдкрд░ рдирд┐рд░реНрднрд░ рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдЪрд╛рдЗрд▓реНрдб рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрд╕ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХрддрд╛ рдерд╛ рдЬрдм рдкреИрд░реЗрдВрдЯ рд╡реИрд▓реНрдпреВ рдмрджрд▓ рдЬрд╛рддреА рдереАред рдЪрд╛рдЗрд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯ рдореЗрдВ рдЕрдкрдирд╛ рд╕реБрдЭрд╛рд╡ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЪреЗрдВрдЬ рдбрд┐рдЯреЗрдХреНрд╢рди рддрдм рддрдХ рдирд╣реАрдВ рдЪрд▓рддрд╛, рдЬрдм рддрдХ рдХрд┐ рдмрджрд▓реЗ рд╣реБрдП рд╡реИрд▓реНрдпреВ рдХреЛ рдЪрд╛рдЗрд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯ рдкрд░ рдкреБрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЯреЗрдХреНрд╢рди рд╕реЗ рдмрдЪрдирд╛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ?

рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЗрдирдкреБрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдлреЛрдХрд╕ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдбреАрдУрдПрдо (рдПрдирдЬреАрдЖрдИрдПрдл рд╕реНрдерд┐рддрд┐) рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ, рддреЛ рддреНрд░реБрдЯрд┐ "рдЪреЗрдХ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдмрджрд▓ рдЧрдИ рд╣реИ" рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ (рдХреЗрд╡рд▓ рдЕрдЧрд░ рдЗрдирдкреБрдЯ рдореЗрдВ рдПрдХ рдлреЙрд░реНрдо рд╕рдореВрд╣ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ)ред
рдпрд╣рд╛рдБ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд▓рдВрдХрд░ рд╣реИ:
https://plnkr.co/edit/dooRvC1gY1WEcaNdshoP?p=preview
рдзрдиреНрдпрд╡рд╛рдж!

рддреЛ рдпрд╣рд╛рдБ рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реИ?

ngOnInit рдореЗрдВ рдХрд┐рд╕реА рднреА рдЗрдирдкреБрдЯ рдорд╛рди рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдпрд╣ рдЯреНрд░рд┐рдЧрд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

@coli
рдмрд╕ рд▓рдкреЗрдЯреЛ

setTimeout(()=>{
 ///your code here
}, 1);

рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╛рд▓ рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рд╣реИ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдЗрдХрд╛рдИ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реАрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдШрдВрдЯреЛрдВ рддрдХ рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдЙрдкрд░реЛрдХреНрдд @drewlio рдкреЛрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рдирд╣реАрдВ рд╣реБрдЖред

рдЗрдВрдЬреЗрдХреНрд╖рди _changeDetectionRef:

    constructor(
        private _changeDetectionRef: ChangeDetectorRef) {
    }

рдФрд░ рдлрд┐рд░ рдЕрдкрдирд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдареАрдХ рдмрд╛рдж рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВред
рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЪрд╛рд▓ рдЪрд▓реАред

    setSizeFromCtrl() {
        console.log("setSizeFromCtrl");
        if (this.sizeFromList && this.tradeProfile && this.tradeProfile.SizeFrom && this.sizeFromCtrl) {
            this.sizeFromCtrl.select(String(this.tradeProfile.SizeFrom));
            this._changeDetectionRef.detectChanges();
            console.log("setSizeFromCtrl DONE");
        }
    }

    setCentreTypeCtrl() {
        console.log("setCentreTypeCtrl");
        if (this.centreTypeList && this.tradeProfile && this.tradeProfile.centreTypeList && this.centreTypeCtrl) {

            for (let i of this.tradeProfile.centreTypeList) {
                this.centreTypeCtrl.select(i.value);
            }
            this._changeDetectionRef.detectChanges();
            console.log("centreTypeCtrl DONE");
        }
    }


рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереА рд▓реЗрдХрд┐рди рдПрдХ рдЕрд▓рдЧ (рд╕рдорд╛рди?) рдХрд╛рд░рдг рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕рдорд╛рдзрд╛рдиред

  • рд╣рдорд╛рд░реЗ рдХреЛрдгреАрдп рдРрдк - https://github.com/GeoscienceAustralia/GNSS-Site-Manager рдореЗрдВ рдореЙрдбрд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд░реВрдк рд╣реИрдВ рдЬреЛ ngOnInit() рдореЗрдВ рдХрдИ рдШрдЯрдХреЛрдВ рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдФрд░ рдирд┐рд░реНрдорд┐рдд рд╣реИрдВред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкреНрд░рдкрддреНрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ ngIf рд╕рд╛рде рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд┐рдП рдЧрдП рд╣реИрдВ
  • рдбреЗрдЯрд╛ ngOnInit() рдореЗрдВ рднреА рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ theModelForm.patchValue(data) рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛
  • рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рд╕рд╛рдордиреЗ рдЖ рд░рд╣реА рдереА рдЬрдм рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкреНрд░рдкрддреНрд░ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдХрд┐ рдбреАрдУрдПрдо рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдлреЙрд░реНрдо ngOnInit() рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рддрдм рддрдХ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реБрдЖ рдЬрдм рддрдХ рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред patchValue() рдирд┐рдХрд╛рд▓реЛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИ
  • рд╣рдо рджреЛ рд╕рдорд╛рдзрд╛рди рд▓реЗрдХрд░ рдЖрдП рд╣реИрдВ
  • рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ patchValue() рдПрдХ рдЪрд▓рд╛рдиреЗ this._changeDetectionRef.detectChanges(); ред рдФрд░ ngIf рдХреЛ [hidden] рдмрджрд▓реЗрдВ рддрд╛рдХрд┐ рдлреЙрд░реНрдо рдФрд░ DOM рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрди рдЬрд╛рдПред рдЗрд╕рдХрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рд╕рдордп рдФрд░ рд╕реНрдореГрддрд┐ рд▓рд╛рдЧрдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреВрд░реНрдг рд░реВрдк рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдбреЛрдо рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рдХрдИ рдРрдкреНрд╕ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдереА рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд░реВрдк рд╣реИ)ред
  • рдмреЗрд╣рддрд░ рдЙрдкрд╛рдп рдпрд╣ рд╣реИ рдХрд┐ рдШрдЯрдХреЛрдВ рдореЗрдВ patchValue() (рдпрд╛ setValue() рдЕрдЧрд░ рдбреЗрдЯрд╛ рдФрд░ рдлрд╝реАрд▓реНрдб 1:1 рд╣реИрдВ) рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗрд╡рд▓ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдлреЙрд░реНрдо ngOnInit() .

рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдпреЗ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рдХрд┐рдП рд╣реИрдВ (22/3/17)ред

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдлреИрд╕рд▓рд╛ рд╕рднреА рдХреЛ рдмрдЪрд╛рдПрдЧрд╛ред
рд▓реЗрдХрд┐рди рдореБрдЭ рдкрд░ рджреА рдЧрдИ рддреНрд░реБрдЯрд┐ рдХреА рдШрдЯрдирд╛ рдПрдХ рд╡рд░реНрдЧ рдХреЗ рдПрдХ рдирдП рддрддреНрд╡ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рд╣реБрдИ рдереАред рдлрд┐рд░ рдЗрд╕реЗ рд╕рд░рдгреА рдореЗрдВ рдЬреЛрдбрд╝рдирд╛, рдЬреЛ *ngFor рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдореЗрдВ рдПрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди (рд╢реВрдиреНрдп, рдЦрд╛рд▓реА рд░реЗрдЦрд╛рдПрдВ) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд┐рдпрд╛ред

export class Task {
    task_id: number;
....
    constructor() {
        this.task_name = '';
        this.task_desc = '';
        this.task_percent = 0;
  addNewTask():void{
    let newTask = new Task();
    this.tasksList.push(newTask);
  }

рдЯрд╛рд╕реНрдХ_рдирд╛рдо рдФрд░ рдЯрд╛рд╕реНрдХ_рдбреЗрд╕реНрдХ рдФрд░ рдЯрд╛рд╕реНрдХ_рдкрд░рд╕реЗрдВрдЯ рдореИрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрджрд┐ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕реВрдЪреАрдмрджреНрдз рдлрд╝реАрд▓реНрдб рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред

+1

AerisG222 рд╕рдорд╛рдзрд╛рди рдХрд╛рд░реНрдп

constructor(private _changeDetectionRef : ChangeDetectorRef) { }

ngAfterViewInit() : void {
    // your code

    this._changeDetectionRef.detectChanges();
}

this._changeDetectionRef.detectChanges() рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдЧрд╛ред рдореИрдВ рдмрд╕ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ() рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдХреЛрдб рд▓рдкреЗрдЯрддрд╛ рд╣реВрдВ, рдпрд╣ рдЗрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

@GuofuHuang рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рди рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдХрднреА-рдХрднреА рдЕрдирдВрдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдЪрдХреНрд░ рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИ

@Toxicable рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд╢рд╛рдпрдж рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред_changeDetectionRef.detectChanges (); рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рдЕрдкрдирд╛ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ() рдХреЗ рдЕрдВрджрд░ рд▓рдкреЗрдЯрддрд╛ рд╣реВрдВред

@GuofuHuang рдпрджрд┐ рдЖрдк setTimeout рдЕрдВрджрд░ рдЬреЛ рдХреБрдЫ рднреА рдбрд╛рд▓рддреЗ рд╣реИрдВ рд╡рд╣ рд╕реАрдбреА рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕реЗ рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдкрд░ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рддреЛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдк рдЕрдирдВрдд рд╕реАрдбреА рдЪрдХреНрд░ рдкреИрджрд╛ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рд╕рдорд╛рдзрд╛рди рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рд╕реАрдбреА рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕реАрдбреА рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВ

@Toxicable рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ 0 рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ?

@GuofuHuang рдЕрдЧрд░ 0 рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рд╕реАрдбреА рдмрдирддреА рд╣реИ рддреЛ рд╣рд╛рдБ

@Toxicable рдореБрдЭреЗ рдмрд╕ рдпрд╣ рд▓рд┐рдВрдХ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ, http://stackoverflow.com/questions/779379/why-is-settimeoutfn-0-every-useful , рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ 0 рдХрд╛ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реА рдореЗрдВ рдкреЙрдЬрд╝/рдпреАрд▓реНрдб рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реИ, рдореИрдВ рдирд╣реАрдВ рдХрд░рддрд╛ ' рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдХрд┐рд╕реА рд╕реАрдбреА рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ?

@ рдЧреБрдУрдлреВрд╣реБрдЖрдВрдЧ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╕реА рдореЗрдВ рдХреНрдпрд╛ рд╡рд┐рд░рд╛рдо/рдЙрдкрдЬ рд╣реЛрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЬреЗрдПрд╕ рдореЗрдВ рдпрд╣ рдХреЙрд▓рдмреИрдХ рдХреЛ рдИрд╡реЗрдВрдЯ рдХрддрд╛рд░ рдХреЗ рдЕрдВрдд рдореЗрдВ рд░рдЦреЗрдЧрд╛ред рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдКрдкрд░ рдЬреИрд╕рд╛ рд╣реИ: рд╕рдорд╛рдзрд╛рди рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рд╕реАрдбреА рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕реАрдбреА рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВ

рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рд╕рдорд╛рдзрд╛рди рд╣реИ
рдЖрдкрдХреЛ рдПрдордПрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдореИрдВ рдПрдХ рдЯрд┐рдХ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реВрдВрдЧрд╛

@ zigzag95 @GuofuHuang рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпреЛрдВ setTimeout рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ
https://plnkr.co/edit/dv8K9EvVQLG59Gxsl3oI?p=preview

@Toxicable рдзрдиреНрдпрд╡рд╛рдж, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдорд▓рд╛ рдЗрд╕ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдХреЛрдИ рдЕрдирдВрдд рд▓реВрдк рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рдореБрдЭреЗ рдХреЛрдгреАрдп рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

@GuofuHuang рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЗрд╕реЗ ngAfterViewInit рдореЗрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЗрд░рд╛ рдХрд╣рдирд╛ рдерд╛ рдХрд┐ рдЗрд╕ рдкрджреНрдзрддрд┐ рд╕реЗ рдЕрдирдВрдд рд▓реВрдк рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЦрддрд░рдирд╛рдХ рд╣реИред рдкреНрд▓рдВрдХрд░ рдпрд╣реА рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИред

@moutono рдЖрдкрдХреА рдЪрд╛рд▓ рдиреЗ рдореЗрд░реА рдорджрдж рдХреА рд╣реИ! рдмрдврд╝рд┐рдпрд╛ рдзрдиреНрдпрд╡рд╛рдж

рдЪреВрдВрдХрд┐ рд╕рдорд╕реНрдпрд╛ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдПрдХ рд╡рд╛рджреЗ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рднреА рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ ngZone рдмрдВрджрд░ рдкреИрдЪ рднреА рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ:

ngAfterViewInit() {
  Promise.resolve().then(() => your_code_here);
}

рд╣рд╛рдБ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд╣ рдлрд┐рдХреНрд╕ рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реБрдЖ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ EventEmitter рдкрд░ рдореВрд▓реНрдп рдмрджрд▓ рд░рд╣рд╛ рдерд╛
рд╕рдорд╛рдзрд╛рди рдерд╛ рдкрд░рд┐рд╡рд░реНрддрди
private generalSubscriber: EventEmitter<any> = new EventEmitter<any>();
рдкреНрд░рддрд┐
private generalSubscriber: EventEmitter<any> = new EventEmitter<any>(true);

рдЕрдЬреАрдм рд╣реИ рдирд╛?
рд╡реИрд╕реЗ рдЗрд╕рдХрд╛ рд╕рд╣реА рдорддрд▓рдм рд╣реИ, рдЗрд╡реЗрдВрдЯрдореАрдЯрд░ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╣реИ
https://angular.io/docs/ts/latest/api/core/index/EventEmitter-class.html

рдЗрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рд╕рдорд╛рдзрд╛рди рд╣реИ? рдпрд╣ рдХреНрдпреЛрдВ рдмрдВрдж рд╣реИ?

рдореБрдЭреЗ рд╣рд░ рдмрд╛рд░ рдХреИрд╢реЗ рд╕рд╛рдлрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдЫрд╡рд┐ рд▓реЛрдб рдкрд░ рдПрдХ рдЫрд╡рд┐ рд╕реНрдЯрдм рдХреА рдЬрдЧрд╣ рд▓реЗ рд░рд╣рд╛ рдерд╛, рдЗрд╕реЗ setTimeout рдореЗрдВ рд░рдЦрдирд╛ рдкрдбрд╝рд╛

@intergleam @ wasa4587 @ caroso1222 @tandu @ AerisG222 @ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛-рдореВрд░ @robwormald @ svi3c @ pkozlowski-рдУрдкрдирд╕реЛрд░реНрд╕ @pcroc @zoechi @stefankoru @bennadel @bryanforbes @Necroskillz @drewlio @ElsewhereGames @zoechi @ user414 @ рдИ-рдФрдВрд╕

рдЗрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдкрд░ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

@smartHasmukh рдпрд╣ рдПрдХ рд╡рд┐рдХрд╛рд╕-рдореЛрдб рдХреЗрд╡рд▓ рддреНрд░реБрдЯрд┐ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред
рдЖрдкрдХреЛ рдЕрднреА рднреА рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рджрд┐рд╢рд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рддреЛрдбрд╝ рджреЗрдВред рдЬреЛ рдХреБрдЫ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рднрд╛рдИ-рдмрд╣рди рдореЗрдВ рдПрдХ рдШрдЯрдХ рдХрд╛ рдбреЗрдЯрд╛ рдмрджрд▓рдирд╛, рдмрдЪреНрдЪреЛрдВ рдХреЗ рдЬреАрд╡рдирдЪрдХреНрд░ рдореЗрдВ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХрд╛ рдбреЗрдЯрд╛ рдмрджрд▓рдирд╛ рд╢рд╛рдпрдж рдХреБрдЫ рдФрд░ рд╣реЛред
рдлреЗрдВрдХрд╛ рдЧрдпрд╛ рдпрд╣ рдЕрдкрд╡рд╛рдж рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╣реИ рдХрд┐ рдПрдХ рджрд┐рд╢рд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдЕрдиреБрдмрдВрдз рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рджреБрд░реНрдШрдЯрдирд╛ рд╕реЗ рд╣реИ, рдЖрдкрдХреЛ рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд╕рдВрдЪрд╛рд░ рдореЗрдВ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ рдареАрдХ рдХрд░реЗрдВред

@smartHasmukh рдореБрдЭреЗ рдпрд╣ рдЕрд╕рд╣рдЬ рднреА рд▓рдЧрддрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдШрдЯрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реВрдВ рдФрд░ рд▓реЛрдбрд░ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдШрдЯрдХ рдХреЛ рдПрдХ рдИрд╡реЗрдВрдЯ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдФрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдореЗрдВ рдореИрдВ рдЙрд╕ рд▓реЛрдбрд░ рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реВрдВ (рдЗрд╕рд▓рд┐рдП, рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рднреАрддрд░)ред рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВред рд▓реЗрдХрд┐рди, рдПрдХ рдШрдЯрдХ рдореЗрдВ, рдореБрдЭреЗ рдХреЗрд╡рд▓ "рд╕реНрдерд┐рд░" рд╕реНрд░реЛрдд рд╕реЗ рдХреБрдЫ рдбреЗрдЯрд╛ рдорд┐рд▓рд╛, рд╡рд╣рд╛рдВ рдХреЛрдИ рдЕрд╡рд▓реЛрдХрди рдпреЛрдЧреНрдп рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд▓реЛрдбрд░ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдШрдЯрдХ рдХреЛ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП ngOnInit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рддрдм рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА, рдмрд┐рд▓реНрдХреБрд▓ред

рднрд▓реЗ рд╣реА рдореЗрд░рд╛ рдорд╛рдорд▓рд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмрд╛рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рд╕рд╣реА рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдпрд╛ рддреЛ рд▓реЛрдбрд░ рдХреЛ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдирд╣реАрдВ рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рдкрдбрд╝рд╛, рдЙрд╕ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП (рдЬреЛ рдФрд░ рдЕрдзрд┐рдХ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдФрд░ рдЕрдзрд┐рдХ рдШрдЯрдХ рд╣реЛрдВ) ... рдпрд╛, рд▓реЛрдбрд░ рдХреЛ рдореЗрд░реА рдбреЗрдЯрд╛ рд╕реЗрд╡рд╛ рд╕реЗ рдЫрд┐рдкрд╛рдиреЗ рдХрд╛ рдХрд╛рдо рднреА рд╕рдВрднрд╛рд▓реЗрдВ рдШрдЯрдХ рд╕реНрддрд░ рдХреЗ рдмрдЬрд╛рдпред рдпрд╛, рдПрдХ рдмрджрд╕реВрд░рдд рдлрд┐рдХреНрд╕, рдЙрд╕ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдХреЛ рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ() рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ рд╣реЛрдЧрд╛ред рдХреНрдпреЛрдВрдХрд┐ рд╢реБрд░реБрдЖрддреА рддрд░реАрдХрд╛ рд╕рд╣реА рдирд╣реАрдВ рдерд╛ред

рдЯреАрдПрд▓ / рдбреАрдЖрд░:
рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рдЙрдЪрд┐рдд рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, _setTimeout()_ рдмрджрд╕реВрд░рдд рдлрд┐рдХреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ (рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЙрд╕ рдкрд▓ рдореЗрдВ _sadly_ рдЪреБрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░, рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИ рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реИ рд╡рд╣рд╛рдБ рдЬрд╛ рд░рд╣рд╛ рд╣реИ - рдлрд┐рд░ рднреА, рдореБрдЭреЗ рдЗрд╕реЗ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░, рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдмрджрд▓рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ)ред
рдЖрдк рдЕрдкрдиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП StackOverflow рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдВред рдХреЛрдИ рдирд╛ рдХреЛрдИ рддреЛ рд░рд╛рд╕реНрддрд╛ рд╣реЛрдЧрд╛ред

рдЬрд╝рд░реВрд░ рдзрдиреНрдпрд╡рд╛рдж @MrCroft @tytskyi рдФрд░ рдореИрдВ рдЗрд╕реЗ рд╢реНрд░реА @zoechi рдХрд░реВрдБрдЧрд╛ рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рдмрддрд╛ рд░рд╣рд╛ рд╣реВрдБред рдФрд░ рдХреБрдЫ рдирд╣реАрдВ

@tytskyi

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рджреБрд░реНрдШрдЯрдирд╛ рд╕реЗ рд╣реИ, рдЖрдкрдХреЛ рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП

рдирд╣реАрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рдкреНрд░рддрд┐ рдореЗрд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ "рд╣рд╛рдБ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ"ред рдореЗрд░реЗ рдРрдкреНрд╕ рдореЗрдВ рдмрд╣реБрдд рд╕реЗ рдШрдЯрдХ init рдХреЗ рдмрд╛рдж рдФрд░ рдмрд╛рдзреНрдп рдЪрд░ рдореЗрдВ рдирдП рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреБрдЫ рд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдореБрджреНрджрд╛ рдХреЛрдгреАрдп рдХреА рд╕рд┐рд░реНрдл "рдЬреНрдЮрд╛рдд рдХреБрд░реВрдкрддрд╛" рд╣реИ рдФрд░ рдХрд┐рд╕реА рдХреЛ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИред

@ рдИ-рдУрдЬрд╝ рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдореЗрдВ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдпрд╛ рднрд╛рдИ-рдмрд╣рди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдпрд╣ рдПрдХ рджрд┐рд╢рд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рддреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдерд┐рддрд┐ рд╕реНрдерд┐рд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдРрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмреАрдЪ рдореЗрдВ рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрдЯрд╛рд╕реНрдХ, рд╕реЗрдЯрдЯрд╛рдЗрдордЖрдЙрдЯ 0 рдЖрджрд┐ рдХреЗ рд╕рд╛рде рд╡реЗ рдЯреНрд░рд┐рдХреНрд╕ рд╣реИрдВред

@tytskyi рдЖрдкрдХреЗ "рдЪрд╛рд╣рд┐рдП" рдХреЗ рд╕рд╛рде рд╢рд╛рдВрдд рд╣реЛ рдЧрдпрд╛, рдореИрдВ рд╕реНрдерд┐рд░реАрдХрд░рдг рдХреЗ рдмрд╛рдж рдкрд░рд┐рд╡рд░реНрддрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдЕрдЧрд░ рдзреНрдпрд╛рди рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рдП - рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП http рдЕрдиреБрд░реЛрдз, рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рд░реАрдХрд░рдг рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред рдЖрдк рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рджрд┐рд▓рд╛рдПрдВрдЧреЗ рдХрд┐ рдХреЛрдгреАрдп рдХрд╛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рд╣реА рд╣реИ, рдХреЛрд╢рд┐рд╢ рднреА рдордд рдХрд░реЛред

@ e-oz рдпрд╣ рдХреИрд╕реЗ HTTP рдЕрдиреБрд░реЛрдз рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдПрдХ HTTP рдЕрдиреБрд░реЛрдз рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИ рдФрд░ рдЖрдкрдХреЛ "рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдмрджрд▓ рдЧрдИ рд╣реИ ..." рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреАред
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@zoechi рдЗрд╕ рдкрд░ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ, рдХреЛрдИ рднреА рдХреБрдЫ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛, рдХрд╛рд░реНрдп рдмрдВрдж рд╣реИред

@ рдИ-рдУрдЬрд╝ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдПрдВрдЧреБрд▓рд░ рдЯреАрдо рдХреА рддрдм рдХрд╛рдлреА рдЕрд▓рдЧ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдереАрдВ (рд░рд┐рд▓реАрдЬ рдЖрдЙрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ) рдФрд░ рдпрд╣ рдореБрджреНрджрд╛ рддрдм рдЕрд╡рд░реЛрдзрдХ рдирд╣реАрдВ рдерд╛ред
рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╡реИрдз рдорд╛рдорд▓рд╛ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@zoechi рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдк рддрдп рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдкреВрд░реЗ рд╕рдореНрдорд╛рди рдХреЗ рдХрд╛рд░рдг, рдореБрдЭреЗ рд╡рд╣ "рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП" рд╕реНрд╡рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИред

@ рдИ-рдУрдЬрд╝ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдХреЗрд╡рд▓ рдЖрдкрдХреА рдирд┐рд░рд╛рд╢рд╛ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ рдФрд░ рдЖрдк рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд░реВрдЪрд┐ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рдХреГрдкрдпрд╛ рдЕрдкрдиреА рдлрд╛рд▓рддреВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХрд╛ рд╕рдордп рдпрд╣рд╛рдБ рдмрд░реНрдмрд╛рдж рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВред

рдпрджрд┐ рдЖрдк http рдХреЛ рдХреЙрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рдШрдЯрдХ рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ, рдмрд╕ рдЬреЛрдбрд╝реЗрдВ..
Promise.resolve().then(() => your_code_here);
рдпрд╛
myObservable.delay(10).subscribe(...)

рджреЛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛

@vicb рдЙрди рдореБрджреНрджреЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВ рдЬреЛ рдареАрдХ рдирд╣реАрдВ рд╣реИрдВред рдЖрдк рдпрд╣ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ ?

рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ

@diegogarciaa ... рдФрд░ рдЖрдкрдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рддрдп рдирд╣реАрдВ рд╣реИ рдпрд╛ рдЧрд▓рдд рд╣реИ? рдмрд╛рддрдЪреАрдд ^^^ рдЗрддрдиреА рд▓рдВрдмреА рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓ рдХреЛ рдЦреЛрдЬрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

@mlc-mlapis рдкреВрд░реЗ рд╕рдореНрдорд╛рди рдХреЗ рд╕рд╛рде, рдореИрдВ рдЖрдкрдХрд╛ рд╢рд┐рдХреНрд╖рдХ рдирд╣реАрдВ рд╣реВрдВ, рдпрджрд┐ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкрдврд╝ рдпрд╛ рд╕рдордЭ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдкрд░реЗрд╢рд╛рди рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВред рдореИрдВрдиреЗ рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рдмрд┐рддрд╛рдпрд╛, рдореИрдВ рдЗрд╕рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред

рдХреЛрдгреАрдп рдЯреАрдо (рд╕рднреА рдЯреАрдо рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдЬреЛ рдпрд╣рд╛рдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ) рд░рд╡реИрдпрд╛ рдЗрддрдирд╛ рдЙрджреНрдпрдорд╢реАрд▓ рд▓рдЧрддрд╛ рд╣реИ: рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рдХрд░рдирд╛ (рдореЗрд░рд╛ рд╡реЗрддрди), рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рдареАрдХ рдирд╣реАрдВ рдХрд░рдирд╛ред

@diegogarciaa ... рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ред рдКрдкрд░ рдХреА рддрд░рд╣ рдЬрд╛рд░реА рд░рдЦреЗрдВ рдФрд░ рд╣рд░ рдЬрдЧрд╣ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

@ mlc-mlapis рдореИрдВ рд╕реНрд╡рд╛рдЧрдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдЬрд╣рд╛рдБ рд▓реЛрдЧ рдкрдврд╝ рдирд╣реАрдВ рд╕рдХрддреЗ рдФрд░ рдЬрд╣рд╛рдБ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд╡рд╣рд╛рдБ рдмрдХрд╡рд╛рд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред

@diegogarciaa ... рдореИрдВрдиреЗ рдЕрднреА рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдЖрдкрдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдм рд╕рдЪ рдирд╣реАрдВ рд╣реИред рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдпрд╣ рднреА рд╣реИ рдХрд┐ Expression has changed after it was checked ... рд╕рд╛рде рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдорд╕реНрдпрд╛рдПрдВ рдмрдЧ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реАрдбреА рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред

@mlc-mlapis рдареАрдХ рд╣реИ... рдЖрдЗрдП рд╕рдордЭрддреЗ рд╣реИрдВ

http://plnkr.co/edit/nm8OkrpZCIp4cvA6TbpO?p=preview

рдЗрд╕ рдкреНрд▓рдВрдХ рдореЗрдВ рдореИрдВ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЬрдм ngAfterViewInit рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╡реЗрд░рд┐рдПрдмрд▓ рдмрд╛рдзреНрдп рдФрд░ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЬрдм рдЗрд╕реЗ рдПрдХ рдирдпрд╛ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдирдпрд╛ рдЪреЗрдХ рд░рд╛рдЙрдВрдб рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рджреГрд╢реНрдп рдХрдВрдЯреЗрдирд░ рд░реЗрдлрд░реА рд╣реИ ... рдФрд░ рдореИрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

this.service.GetData ()ред рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ (
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ => this.component.instance.dataModel = рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
);

рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдбреЗрдЯрд╛рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЗрд░реЗ html рдореЗрдВ {{dataModel.Field}} рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

рдпрд╣ рдШрдЯрдХ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдШрдЯрдХ рд╣реИ рдЬрд┐рд╕реЗ рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╕реЗ рдХреИрд╕реЗ рдмрдЪ рд╕рдХрддрд╛ рд╣реИ? рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдЬреАрд╡рдирдЪрдХреНрд░ рдХреЗ рд╣реБрдХ рд╕реЗ рдкрд╣рд▓реЗ рдореЗрд░реЗ рдШрдЯрдХ рдХреЛ рдбреЗрдЯрд╛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рдХреМрди рд╕рд╛ рд╣реЛрдЧрд╛

@diegogarciaa ... рд╣рд╛рдБ, рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд╣рд╛рдБ async рдФрд░ рд╕рд┐рдВрдХ рдСрдкрд░реЗрд╢рди рдорд┐рд╢реНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╕реАрдбреА рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ рдФрд░ рджреЗрд╡ рдореЛрдб рдореЗрдВ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рд╣реЛрддреА рд╣реИред рдореИрдВ https://hackernoon.com/everything-you-need-to-know-about-the-expressionchangedafterithasbeencheckederror-error-e3fd9ce7dbb4 рдкреЛрд╕реНрдЯ рд╕реЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдирд╣реАрдВ рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдЗрд╕реЗ рдкрд╣рд▓реЗ рдкрдврд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдФрд░ https://hackernoon.com/here-is-how-to-get-viewcontainerref-before-viewchild-query-is-evaluated-f649e51315fb рдкрд░ рднреА

рддреЛ рд▓реЗрдЦ рдореВрд▓ рд░реВрдк рд╕реЗ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдПрдХ рджреМрд░ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ...

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдХрд╣реВрдВ рддреЛ рдореИрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рди рд╣реВрдВ... рдХреЛрдгреАрдп рдореЗрдВ рдЫреЛрдЯреА-рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ рднреА рдЗрддрдиреА рдЙрдмрд╛рдК рдФрд░ рдердХрд╛рдК рд╣реИрдВ... рдореИрдВ рд╕рд╛рдВрд╕ рднреА рдирд╣реАрдВ рд▓реЗ рд╕рдХрддрд╛ред рдлрдХ рдпреВ

@diegogarciaa ... рдирд╣реАрдВ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕рд╣рд╛рдпрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред рдЖрдк promise.then рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ setTimeout рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ... рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рдорд╛рдзрд╛рди рд╢рд╛рдпрдж рдПрдХ рд╕рд╛рдЭрд╛ рд╕реЗрд╡рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рд╕реАрдбреА рдЪрдХреНрд░ рдХреЛ рдкрд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдЧрддрд┐рд╢реАрд▓ рдШрдЯрдХ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕реАрдзреЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдкреБрд╖реНрдЯрд┐.

рдпрд╛ рдмрд╕ рдЙрд╕ рд╕рдордп рдЧрддрд┐рд╢реАрд▓ рдШрдЯрдХ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдВ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдбреЗрдЯрд╛ рд╣реЛрдЧрд╛ред рддреЛ рдЖрдкрдХреА рд╕рджрд╕реНрдпрддрд╛ рдЧрддрд┐рд╢реАрд▓ рдШрдЯрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░реЗрдЧреАред

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ -> рдкреНрд░рд╛рдердорд┐рдХ рддрд░реНрдХ рддреНрд░реБрдЯрд┐ рдХреНрдпреЛрдВ рд╣реЛрддреА рд╣реИ -> рдХреНрдпреЛрдВрдХрд┐ рдпреВрдирд┐рдбрд╛рдпрд░реЗрдХреНрд╢рдирд▓ рдкрд░рд┐рд╡рд░реНрддрди рд╣рдореЗрд╢рд╛ рдкреВрд░реЗ рдкреЗрдбрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рддрдХ рдкреНрд░рд╡рд╛рд╣рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдПрдХ рд╕реАрдбреА рдЪрдХреНрд░ рдХреЗ рдмрд╛рдж рд╕реНрдерд┐рддрд┐ рдХреА рдкреБрд╖реНрдЯрд┐ рд╣реЛрддреА рд╣реИ рдХрд┐ рдпреВрдирд┐рдбрд╛рдпрд░реЗрдХреНрд╢рдирд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рд╕рдореНрдорд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдпрд╣ "рднрд╛рдбрд╝ рдореЗрдВ рдЬрд╛рдУ рддреБрдо" рд╡реНрдпрдХреНрддрд┐рдЧрдд рдирд╣реАрдВ рдерд╛... рдмрд╕ рдореЗрд░реА рдХреБрдВрдард╛рдУрдВ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓ рд░рд╣рд╛ рдерд╛ред

рд╣рдо рдЕрдкрдиреЗ рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢ рд╕реНрдХреАрдорд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдордиреЗ рдПрдХ рд╕рд╣рд╛рдпрдХ рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рдПрдХ рдШрдЯрдХ рдХреЛ рдПрдХ рдШрдЯрдХ рджреГрд╢реНрдп рд╕рдВрджрд░реНрдн рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ, рдПрдХ рдШрдЯрдХ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рдбреЗрдЯрд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

protected loadPartialView(viewName: string, target: ViewContainerRef) : ComponentRef<any> {
        const factories = Array.from(this.resolver['_factories'].keys());
        const factoryClass = <Type<any>>factories.find((x: any) => x.name === viewName);
        const factory = this.resolver.resolveComponentFactory(factoryClass);
        return target.createComponent(factory);
}

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ: рдореИрдВ рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

return target.createComponent(factory, dataSource);

рдЬрд╣рд╛рдВ рдореЗрд░рд╛ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╕рдордп рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛

Redux рдХреА рддрд░рд╣, рдЬреЛ рдШрдЯрдХреЛрдВ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд╣рдо рдПрдХ рдЗрдВрдЬреЗрдХреНрд╢рди рдпреЛрдЧреНрдп рдШрдЯрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдЬреАрд╡рдирдЪрдХреНрд░ рдХреЗ рд╣реБрдХ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдбрд┐рдЧреЛрдЧрд╛рд░реНрд╕рд┐рдпрд╛

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдбреЗрдЯрд╛ рдкрд╣рд▓реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ... рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдШрдЯрдХ рдЕрднреА рднреА @Input() рдФрд░ @Output() рд╕рд╛рде рдПрдХ рдШрдЯрдХ рд╣реИ рд▓реЗрдХрд┐рди рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдбреЗрдЯрд╛ рдХрдм рдмрджрд▓реЗрдВрдЧреЗред

... рдЬрдм рдХреЛрдИ рдШрдЯрдХ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реЛ рддреЛ рдбреЗрдЯрд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ...

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЖрд▓рд╕реА рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рд╕реЗ рднреА рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЗрд╡рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШрдЯрдХреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

export default class LazyLoadedModule {
    cmps: Map<{}, {}> = new Map();
    constructor() {
        this.cmps.set('first-component', FirstComponent);
        ...
    }
}

return target.createComponent(factory, dataSource); рдХреНрдпрд╛ рдорддрд▓рдм рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреАрдЖрдИ createComponent(componentFactory, index, injector, projectableNodes, ngModule) ред

рдФрд░ рд╢рд╛рдпрдж рдирдпрд╛ @angular/cdk рдореЙрдбреНрдпреВрд▓ рдЖрдкрдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред рдмрд╕ рдпрд╣рд╛рдВ рдкрд░рд┐рдЪрдп: https://medium.com/@caroso1222/a -first-look-into-the-angular-cdk-67e68807ed9bред

рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рдпрд╣ setTimeout рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ ChangeDetectorRef.detectChanges() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рддреЛ рдореИрдВрдиреЗ NgZone.onStable рдФрд░ рдЕрдкрдирд╛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ EventEmitter рдкрд░ рдПрдХ рдмрд╛рд░ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рд╕реЗ ...

constructor(
  private zone: NgZone,
) { }

ngAfterViewInit() {
  this.zone.onStable.first().subscribe(() => {
    // your code here
  });
}

рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ setTimeout рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рднреА рдмреБрд░рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЙрд╕ рдорд╛рдорд▓реЗ рдкрд░ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рд╣реИ рддреЛ рдЗрд╕рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрд╡рд╛рдЧрдд рд╣реЛрдЧрд╛!

@AerisG222 рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

constructor(private _changeDetectionRef : ChangeDetectorRef) { }

ngAfterViewChecked() : void {
    // your code
    this._changeDetectionRef.detectChanges();
}

рдпрд╣ рдПрдЪрдЯреАрдПрдордПрд▓ рдШрдЯрдХ рд╣реИ:

{{lastData.note[i].date | рджрд┐рдирд╛рдВрдХ: 'dd.MM.yyyy'}} | {{lastData.note[i].date | рджрд┐рдирд╛рдВрдХ: 'рдПрдЪрдПрдЪ: рдорд┐рдореА'}}:#рдмреАрдПрдлрдПрд▓15_200817 | {{lastData.status.name }} рджреНрд╡рд╛рд░рд╛ {{lastData.note[i].admin}}

рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА рдпрджрд┐ рд╕рд░рдгреА рдореЗрдВ рдбреЗрдЯрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдХреЛрдИ рд╕рдорд╛рдзрд╛рди?

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЬрдЯрд┐рд▓ рдореБрджреНрджрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП (рд╡рд┐рд╢реЗрд╖рдХрд░ рдЬрдм рдЖрдк рдХрд┐рд╕реА ContentChild рдкрд░ рдЧреБрдгреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ) рдЗрд╕реЗ рддрд░реНрдХ рдХреЛ ngAfterViewInit () рдпрд╛ ngOnInit () рдХреЗ рдмрдЬрд╛рдп ngAfterContentInit () рдореЗрдВ рд▓реЗ рдЬрд╛рдХрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рд╕рд╛рдзрд╛рд░рдг рдЪреАрдЬреЗрдВ рдХреЛрдгреАрдп рдореЗрдВ рдЗрддрдирд╛ рднреНрд░рдо рдкреИрджрд╛ рдХрд░ рд╕рдХрддреА рд╣реИрдВ

рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ, рдмрд╛рдХреА рд╕рднреА рдиреЗ рднреА рдЧреМрд░ рдХрд┐рдпрд╛ рд╣реИ
image

@jakeNiemiec рд▓рдВрдЧрдбрд╝рд╛ рдиреМрдХрд░реА, рдЯреНрд░реЛрд▓, рдЕрдм рдХреЛрдИ рднреА Angularjs рдирд╣реАрдВ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реИ
https://trends.google.com/trends/explore?date=all&q=Angular%20tutorial ,React%20tutorial
image

рд╣рд╛рдВ, рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЛ рд╣рддрд╛рд╢рд╛ рд╕реЗ рдмрд╛рд╣рд░ "рдХреЛрдгреАрдп рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП "рднреНрд░рдо" рдкрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЯрд┐рдкреНрдкрдгреАред

рд▓реЗрдХрд┐рди рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ, рд╣рдо рд╕рдЯреАрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдБрдХрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдП npm рдХреА рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: http://www.npmtrends.com/react-vs-@angular/cli -vs-vue-vs-@angular/core
image
image

рдмрд╕ рдореБрджреНрджреЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдгреАрдп рдХреЛ рдмреЗрд╣рддрд░ рд╣реЛрддреЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ Vue.js рдЗрд╕реЗ рджреВрд░ рдХреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░ рджреЗрдЧрд╛ред рд╕рднреА 3 рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдХреЛрдгреАрдп рджреЗрд╡реЛрдВ рдХреЛ Vue рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЗ рдмрд┐рдирд╛ рдХреЛрдгреАрдп рдЬреИрд╕рд╛ рд╣реИред

рдареАрдХ рдЙрддреНрддрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдореИрдВ рдЙрди рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рд╣реВрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рднрд╛рд░рдд рдореЗрдВ PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЬрд╛рд╡рд╛ рд╣реИрдВред рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдРрдк рдХреЗ рд▓рд┐рдП PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╡рдХреВрдлреА рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдХрднреА-рдХрднреА рдЕрдкрдиреЗ рджрд┐рдорд╛рдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреАрд╡рди рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛

@jakeNiemiec ... рдмрдирд╛рдП рдЬрд╛ рд░рд╣реЗ 50% рдореБрджреНрджреЛрдВ рдХреЛ рдЧрд▓рддреА рд╕реЗ рд╡рд╣рд╛рдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ ... рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд░реНрдерди/рдЬреНрдЮрд╛рди рдХреЗ рдореБрджреНрджреЗ рд╣реИрдВ рдФрд░ рд╡рд╣рд╛рдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдордЬреЗ рдХреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ + рдЙрддреНрддрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЬреНрдЮрд╛рди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЛрдЧ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдирд╣реАрдВ рдкрдврд╝рддреЗ рд╣реИрдВред

@HostBinding рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рдПрдХ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕реНрд░реЛрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдШрдЯрдХ рдкрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмрдВрдзрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдЬреИрд╕реЗ @HostBinding('style.background') ред

рдЙрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЛ *рдкреИрд░реЗрдВрдЯ * рдШрдЯрдХ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╡рд╣ рдЗрд╕рдХрд╛ 'рд╕реНрд╡рд╛рдорд┐рддреНрд╡' рд╣реЛред рд╣рдорд╛рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЙрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЗ 'рдорд╛рд▓рд┐рдХ' рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдмрдЪреНрдЪреЗ рдХреЗ рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪреЗрдВред

рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдШрдЯрдХ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╛ рдпрд╣ рдЙрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ?

рдореБрдЭреЗ рдЕрдкрдиреЗ рдореВрд▓ рдШрдЯрдХ рдХреЛ detectChanges рдЪрд▓рд╛рдирд╛ рдерд╛ (рдпрд╛ рдмрдЪреНрдЪреЗ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд div рдЬреЛрдбрд╝реЗрдВ) рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдмрд╛рд▓ рдШрдЯрдХ рдмрд╕ рдЕрдкрдирд╛ рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рдмрджрд▓ рд░рд╣рд╛ рдерд╛ (рдФрд░ рдЗрд╕реЗ рдХрд╣реАрдВ рдФрд░ рдХрднреА рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛) .

рдЕрдзрд┐рдХ рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг: https://stackoverflow.com/questions/43375532/expressionchangedafterithasbeencheckederror-explained/51662105#51662105

рдЖрдкрдХреЛ рдмрд╕ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдХреБрдЫ рднреА, рдЬреЛ рдЙрд╕ рд╡рд┐рдзрд┐ рдХреЗ рджреМрд░рд╛рди рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдПрдХ рдФрд░ рджреМрд░ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ - рдПрдХ рдШрдЯрдирд╛ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░реЗрдВ, рдЬреЛ рднреА рд╣реЛред рдЗрд╕реЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рдореЗрдВ рд▓рдкреЗрдЯрдирд╛ (рдХрддрд╛рд░ рдлреНрд▓реИрд╢рдмреИрдХ рд╕реЗ рдПрдирдЬреА 1 :-рдкреА) рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдПрдирдЬреА 2 рдореЗрдВ рдореБрдЭреЗ рдмрд╣реБрдд рдЧрдиреНрджрд╛ рд▓рдЧрддрд╛ рд╣реИред

рдХреЛрдгреАрдп 4 рдореЗрдВ, рд╡рд╣ рдХрд╛рдо 4 рдореБрдЭреЗ <3

рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрдкрдиреЗ рдЖрдк рд▓реЙрдХ рд╣реЛ рдЧрдИ рд╣реИред
рдпрджрд┐ рдЖрдк рд╕рдорд╛рди рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░реЗрдВред

рд╣рдорд╛рд░реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк рд▓реЙрдХрд┐рдВрдЧ рдиреАрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВред

_рдпрд╣ рдХреНрд░рд┐рдпрд╛ рдХрд┐рд╕реА рдмреЙрдЯ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреА рдЧрдИ рд╣реИред_

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

lsim picture lsim  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

deeleman picture deeleman  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gugamm picture gugamm  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mohsen1 picture mohsen1  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nosachamos picture nosachamos  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ