рдХреЛрдгреАрдпрдЬ рдирд┐рд░реНрджреЗрд╢рди рд╡рд┐рдХрд╛рд╕ рдЖрд╕рд╛рди рд╣реИ

AngularJS рдХреЗ рдирд┐рд░реНрджреЗрд╢ рд╢рд╛рдВрдд рд╣реИрдВ


AngularJS рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХрд╛рдлреА рд╕рд░рд▓ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрдирдХреА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╡реЗрдм рдШрдЯрдХ рд╣реИрдВред рдпрд╣ рдирдП HTML рдЯреИрдЧ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡рдпрдВ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдХреЛрдб рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдЬрдЯрд┐рд▓ DOM рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢рди рдмрдирд╛рдирд╛ рднреНрд░рд╛рдордХ рд▓рдЧрддрд╛ рд╣реИред


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

рдирд┐рд░реНрджреЗрд╢ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рджреНрдзрд╛рдВрдд


рдирд┐рд░реНрджреЗрд╢ рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдВрдЧреЗ рдпрджрд┐ рдЖрдк рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╕ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдмреИрдХрдмреЛрди рдЬреИрд╕реА рдкреНрд░рд╕реНрддреБрддрд┐-рдЙрдиреНрдореБрдЦ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЫреЛрдЯреЗ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ $scope.users ред рдПрдХ рджреГрд╢реНрдп рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛:
 <user-list/> 

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рд╕реВрдЪреА рдирд┐рд░реНрджреЗрд╢ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ "рджреЛрд╣рд░рд╛рдирд╛ рдирд╣реАрдВ" ( DRY ) рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реИ! рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдПрдирдЬреА-рд░рд┐рдкреАрдЯ рд╕реЗ рдХрд░реЗрдВ , рдЬреЛ рдХреЗрд╡рд▓ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдХреМрди рд╕рд╛ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдпрджрд┐ рдЖрдкрдХреЛ рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?
рдПрдХ рдЕрдЪреНрдЫрд╛ рдирд┐рд░реНрджреЗрд╢рди рдПрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
ng-repeat user-list рддреБрд▓рдирд╛ ng-repeat рдмреЗрд╣рддрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ: рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рднрд╛рдЧ рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рдХрд░ рд░рд╣реА рд╣реИред рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЬреЛ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдЙрд╕реЗ рдХрдИ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рддреЛрдбрд╝рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдЬреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдПрдХ рдЕрдЪреНрдЫрд╛ рдирд┐рд░реНрджреЗрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ
рдирд┐рд░реНрджреЗрд╢ рд╕рднреА рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реИрдВ рдЬрд┐рддрдирд╛ рдХрдо рд╡реЗ рдЖрд╡реЗрджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдзрд╛рд░рдгрд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реА рд╕рдВрдкрддреНрддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдирд╛ рд╣реИ, рдЬреИрд╕реЗ ng-model , рдЙрд╕ рдирд┐рд░реНрджреЗрд╢ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬреЛ $scope.users рдорд╛рдирддрд╛ рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпрджрд┐ рдЖрдкрдХреЗ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдЙрд╕реЗ рдЗрд╕ рдирд┐рдпрдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЖрдк рдпрд╣ рдХрд╣ рд╕рдХреЗрдВ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдк рдЗрд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реЛрдВред
рдЖрдЬ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИред рдЖрдЗрдП рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдПрдБ рдЬреЛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ рдПрдВрдХрд░


рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реИ рдХрд┐ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдЬреЛ рдмрд╛рдзреНрдп рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛: рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбрдмрд▓ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд▓реЛ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдлреЛрдЯреЛ рдФрд░ рдПрдХ рдХреИрдкреНрд╢рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред
рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдореЗрдВ рдкрд╣рд▓рд╛ рдХрджрдо рдЙрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд╛рдореЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЗрд╕рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░реЗрдВрдЧреЗред рдореИрдВрдиреЗ рдЫрд╡рд┐ рдХреЗ рд╕реНрд░реЛрдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП photo-src рд╕рд╛рдЗрди рдХреЛ рдЪреБрдирд╛, рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП caption ред рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢реЛрдВ рдЬреИрд╕реЗ ng-src рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рджреВрд╕рд░реЗ, рдЖрдкрдХреЛ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рд╡рд░реНрдЧ рдирд╛рдореЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ, рдпрд╛ рдХреНрдпрд╛ рдЖрдк рддрддреНрд╡реЛрдВ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ photo рдПрдХ рддрддреНрд╡ рд╣реЛред
 <photo photo-src="{{photo.url}}" caption="Taken on: {{photo.date}}"/> 

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВрдиреЗ рдирд┐рд░реНрджреЗрд╢рди рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддрд╕реНрд╡реАрд░ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЛ рдПрдХ рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдмреЗрд╣рддрд░ рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдмрд╛рдзреНрдп рдЧреБрдгреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, attrs.$observe ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рд░ рдмрд╛рд░ рдмрд╛рдзреНрдп рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддрдм рд╣рдо DOM рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП element рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
 app.directive('photo', function() { return { // ,      restrict: 'E', //  <photo>  html template: '<figure><img/><figcaption/></figure>', replace: true, //    DOM link: function($scope, element, attrs) { attrs.$observe('caption', function(value) { element.find('figcaption').text(value) }) //     ┬л┬╗  attrs.$observe('photoSrc', function(value) { element.find('img').attr('src', value) }) } } } }) 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдкрдХреЗ рдШрдЯрдХ рдХрд╛ рдЕрдкрдирд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ, рддреЛ рдЖрдк рдпрд╣ рд╕рдм рдПрдХ рдЕрд▓рдЧ рджрд╛рдпрд░реЗ рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
 app.directive('photo', function() { return { restrict: 'E', templateUrl: 'photo.html', replace: true, //     attrs     scope: { caption: '@', photoSrc: '@' } } }) 

 <!-- photo.html --> <figure> <img ng-src="{{photoSrc}}"/> <figcaption>{{caption}}</figcaption> </figure> 


рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдкрдврд╝реЗрдВ рдФрд░ рд▓рд┐рдЦреЗрдВ


рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рднреА рдбреЗрдЯрд╛ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ng-model ред
рдЪрд▓реЛ рд╕реНрд╡рд┐рдЪ рдмрдЯрди рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣ рдирд┐рд░реНрджреЗрд╢ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛, рдЬреЛ рджрд╛рдпрд░реЗ рдореЗрдВ рдХреБрдЫ рддрд╛рд░реНрдХрд┐рдХ рдореВрд▓реНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдЖрдк рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд░рд╛рдЬреНрдп рдХреЛ рд╡рд┐рдкрд░реАрдд рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛ред
рдЗрд╕ рддрд░рд╣ рд╕реЗ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЖрдк "рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджрд╛рдпрд░реЗ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╛ рдЬрдм рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдпрд╛ рдПрдХ рд╕рд░рдгреА рдХреЛ рдирд┐рд░реНрджреЗрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрдЬрд╛рдп рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗред
 <!--     --> <button toggle="preferences.showDetails">Show Details</button> 

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рдо = scope рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: scope рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рд╣рдорд╛рд░реЗ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд░реЗрдВред рдпрджреНрдпрдкрд┐ рдпрд╣ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдВрджрд░ рдХрд╣реАрдВ рднреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдЗрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ scope.toggle рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред scope.toggle рдЙрд╕ рдЧреБрдг рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рд▓рд┐рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред
 app.directive('toggle', function() { return { scope: { toggle: '=', }, link: function($scope, element, attrs) { 

рддрдм рд╣рдо scope.$watch рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ scope.$watch , рдЬреЛ рд╣рд░ рдмрд╛рд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдореВрд▓реНрдп рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рдо рд╕реАрдПрд╕рдПрд╕ рд╡рд░реНрдЧ рдХреЛ active рд╕реЗ рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдпрд╛ рд╣рдЯрд╛рдПрдВрдЧреЗ, рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓рд░ рдХреЗ рдЕрдВрджрд░ред
  $scope.$watch("toggle", function(value) { element.toggleClass('active', value) }) 

рдЕрдВрдд рдореЗрдВ, рд╣рдо click рдЗрд╡реЗрдВрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╣рдо рджрд╛рдпрд░реЗ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗред рд╣рдореЗрдВ scope.$apply рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ scope.$apply рд╣рд░ рдмрд╛рд░ рдкрд░рд┐рд╡рд░реНрддрди scope.$apply рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХреЛрдгреАрдп рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред
  element.click(function() { $scope.$apply(function() { $scope.toggle = !$scope.toggle }) }) } } }) 

рд╡рд░реНрдХрд┐рдВрдЧ рдбреЗрдореЛ

рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХреИрд╕реЗ рдХрд░реЗрдВ


рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдВрджрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдУрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕реЗ ng-click ред рдЪрд▓реЛ рдПрдХ scroll рдирд┐рд░реНрджреЗрд╢ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рддрддреНрд╡ рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рд╕реНрдХреНрд░реЙрд▓ рдСрдлрд╝рд╕реЗрдЯ рдорд╛рди рднреА рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред
...
рдмрдЯрди рдЯреЙрдЧрд▓ рдХреА рддрд░рд╣, рд╣рдо scroll рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рд╕реА рднреА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рдорд╛рд░реЗ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
 app.directive('scroll', function() { return { scope: { scroll: "&" }, link: function($scope, element, attrs) { 

рд╣рдо рдЬрд┐рд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЙрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо jQuery рд╕реНрдХреНрд░реЙрд▓ рдЗрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрд╣рд╛рдВ рдЖрдкрдХреЛ scope.$apply рдХреЛ рднреА рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ scope.$apply , рдХреНрдпреЛрдВрдХрд┐ рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣реИрдВрдбрд▓рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
  element.scroll(function() { $scope.apply(function() { var offset = element.scrollTop() $scope.scroll({offset:offset}) }) }) } } }) 

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдСрдлрд╝рд╕реЗрдЯ рдорд╛рди рдХреЛ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЙрдкрд▓рдмреНрдз рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╣реИрд╢ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ onScroll(offset) рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЕрдВрджрд░ рдЙрдкрд▓рдмреНрдз onScroll(offset) рдЬреЛ рдХрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╕реАрдзреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рдЧреБрдВрдЬрд╛рдЗрд╢ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ng-repeat рдореЗрдВ рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ред
рд╡рд░реНрдХрд┐рдВрдЧ рдбреЗрдореЛ

HTML рд╕рд╛рдордЧреНрд░реА рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ


рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдХреЛрдИ рднреА HTML рд╕рд╛рдордЧреНрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ рд╣реА рдЖрдк рдХреЛрдИ рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рдЙрд╕рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИред
рдЖрдЗрдП рдПрдХ modal рдХрдВрдкреЛрдиреЗрдВрдЯ рдмрдирд╛рдПрдВ: рдПрдХ рдХреНрд▓реЛрдЬ рдмрдЯрди рд╡рд╛рд▓рд╛ рдкреЙрдкрдЕрдк, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдк HTML рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
 <modal> <p>Some contents</p> <p>Put whatever you want in here</p> </modal> 

рд╣рдорд╛рд░реЗ modal рддрддреНрд╡ рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВред рдЬрдм рд╣рдо рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рднреА рдкреНрд░рд╛рдкреНрдд рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЗрд╕рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдмрд╕ рдПрдХ рд╡рд┐рд╢реЗрд╖ ng-transclude рдХреЛ div рдЬреЛрдбрд╝рдХрд░ред
 <div class="modal"> <header> <button>Close</button> <h2>Modal</h2> </header> <div class="body" ng-transclude></div> </div> 

рдПрдХ рдирд┐рд░реНрджреЗрд╢рди рд╕реЗ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рддрдХ рд╕рд╛рдордЧреНрд░реА рдкрд╛рд╕ рдХрд░рдирд╛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ transclude: true рд╕реЗрдЯ рдХрд░реЗрдВ transclude: true :
 app.directive('modal', function() { return { restrict: 'E', templateUrl: 'modal.html', replace: true, transclude: true, } }) 

рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдХрд┐рд╕реА рднреА рддрд░реАрдХреЗ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЬрд╡рд╛рдм рдХреИрд╕реЗ рджреЗрдВ


рдХрднреА-рдХрднреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЧреБрдВрдЬрд╛рдЗрд╢ рдШрдЯрдирд╛ рд╣реЛрдиреЗ рдкрд░ рдЖрдкрдХреЗ рдирд┐рд░реНрджреЗрд╢рди рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднрд╛рдЧрдиреЗ рдХреА рдХреБрдВрдЬреА рджрдмрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдПрдХ рдЦреБрд▓реА рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред
рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдШрдЯрдирд╛рдУрдВ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ рди рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рд╡реЗ рджреГрд╢реНрдп рд╕реНрдерд┐рддрд┐ рднреА рд╣реЛрддреЗ рд╣реИрдВред windowShown рдореЗрдВ windowShown рдмреВрд▓рд┐рдпрди рд╡реИрд░рд┐рдПрдмрд▓ рд╣реЛрдирд╛ рд╕рд╛рдорд╛рдиреНрдп рдмрд╛рдд рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк ng-show рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдБрдзрддреЗ ng-show , рдпрд╛ рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рддрд░реАрдХреЗ рд╕реЗ рдЕрдкрдиреЗ рдирд┐рд░реНрджреЗрд╢ рдкрд░ рдмреВрд▓рд┐рдпрди рд╡реИрд▓реНрдпреВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрдм рдпрд╣ $scope.$on рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ $scope.$on рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд░рд╛рдЬреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдХреЛрдгреАрдп рдореЗрдВ, рдЪреАрдЬреЛрдВ рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрдЬрд╛рдп рдбреЗрдЯрд╛ рдФрд░ рд╕реНрдерд┐рддрд┐ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА


рдирд┐рд░реНрджреЗрд╢ рдмрд╣реБрдд рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрди рд╕рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рд▓реЗрдЦрди рдкреГрд╖реНрда рджреЗрдЦреЗрдВред

Source: https://habr.com/ru/post/In200620/


All Articles