Angular.js: рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз: `angular.component ()` - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рд░реНрджреЗрд╢ рдирд┐рдпрдВрддреНрд░рдХ рдирд╛рдо

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рдЬрдире░ 2016  ┬╖  59рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: angular/angular.js

рдХрд┐рд╕реА рдШрдЯрдХ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ рд╕реБрд╕рдВрдЧрдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдм рд╡рд╣ рд╕реНрдХреЛрдк рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛред рджреЗрдЦреЗрдВ https://github.com/angular/angular.js/issues/10007#issuecomment -166704255

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рдШрдЯрдХ рдХреЗ рд╡рд┐рд╣рд┐рдд рдирд╛рдо рдореЗрдВ рдЪреВрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐

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

рдирд╛рдо рдХреЗ рд▓рд┐рдП рдорд╛рдирджрдВрдб рд╣реИрдВ:

1) рдпрд╣ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
2) рдпрд╣ $ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
3) рдпрд╣ рдЫреЛрдЯрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (2-4 рд╡рд░реНрдг)

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдирд╛рдо рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд╛рдпрд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╕реБрдЭрд╛рд╡реЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • vm - рдпрд╣ рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдирд╛рдо рд╣реИ рд▓реЗрдХрд┐рди рдирд┐рдпрдВрддреНрд░рдХ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ "рдореЙрдбрд▓ рджреЗрдЦреЗрдВ"
  • $comp - рдпрд╣ рдЯреАрдо рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╕реБрдЭрд╛рд╡ рд╣реИ рд▓реЗрдХрд┐рди рддреБрд▓рдирд╛ рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЗрддрдирд╛ рдЫреЛрдЯрд╛ рдирд╣реАрдВ рд╣реИ
  • $ctrl - рдЗрд╕реЗ рдЗрдирдкреБрдЯ ConTRoL рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
  • $this - рдирд┐рдпрдВрддреНрд░рдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ this рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрджрд░реНрдн рдЕрднреА рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИ
$compile feedback feature

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

рддреЛ рд╡реЛрдЯ рдЕрдВрджрд░ рд╣реИрдВ рдФрд░ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

$comp  4
$cmp   2
$ctrl  19
$vm    3
$this  3
$ctx   2
$vc    1

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

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

рд╕реА) рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ isolate:false рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдкреВрд░реНрд╡рдЬреЛрдВ рдХреЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рддрдХ рд╕реАрдзреЗ рдкрд╣реБрдВрдЪ рдХрд╛ рд▓реБрддреНрдл рдЙрдард╛рддреЗ рд╣реИрдВред

@drpicox - рдореБрдЭреЗ рдпрд╣ рдХрд╣рдиреЗ рдХрд╛ рд▓рд╛рд▓рдЪ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рд╕рд╣рд╛рдпрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЧрдП рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП isolate: false рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддреЗ рд╣реИрдВред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж:

  • isolate: true рдЬрдм рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рд╣реИ 'рдИ': рдореЗрд░реЗ рд▓рд┐рдП рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдШрдЯрдХ рд╣реИрдВ, рдЬрд╣рд╛рдВ $ctrl рдиреЛрдЯреЗрд╢рди рдХрд╛ рдкреВрд░рд╛ рдЕрд░реНрде рд╣реИ
  • isolate: false рдЬрдм рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд 'рдП' рд╣реИ: рдореЗрд░реЗ рд▓рд┐рдП рд╡реЗ _decorators_ рд╣реИрдВ, рдореМрдЬреВрджрд╛ рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмрдврд╝рд╛рдиреЗ рд╡рд╛рд▓рд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ $ctrl рдЯрдХрд░рд╛рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдирд╛рдордХрд░рдг рдареАрдХ рд╣реИ

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░рд╛ рдорд╛рдорд▓рд╛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, _decorators_ рдЕрдХреНрд╕рд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЖрдорддреМрд░ рдкрд░ рдирд┐рдореНрди рд╕реНрддрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЬреВрдирд┐рдпрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рддреЛ рд╢рд╛рдпрдж isolate: false рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рдирд╛ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

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

рдореБрдЭреЗ $cmp рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди $comp рдФрд░ рднреА рдмреЗрд╣рддрд░ рдкрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реИред

рдореБрдЭреЗ $cmp рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди $comp рдФрд░ рднреА рдмреЗрд╣рддрд░ рдкрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реИред

рдореБрдЭреЗ $comp рдкрд╕рдВрдж рд╣реИред рдЬрдм рднреА рдореИрдВ $cmp рджреЗрдЦрддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рддреБрд▓рдирд╛ рдХрд░реЗрдВ"ред

рдЕрд▓рдЧ рд╕реБрдЭрд╛рд╡: рдШрдЯрдХ рдХрд╛ рдирд╛рдо рдирд┐рдпрдВрддреНрд░рдХ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?
рдЙрджрд╛: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ -> рд╕реНрдХреЛрдк.рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓

@tabanliviu рдЗрд╕ рддрд░рд╣ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ master рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди @petebacondarwin рдиреЗ рдЗрд╕реА рдореБрджреНрджреЗ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдирд╛рдо рдмреЗрд╣рддрд░ рдХреНрдпреЛрдВ рд╣реИред

@mgol : +1: рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдореИрдВрдиреЗ рдЯрд┐рдХрдЯ рдкрдврд╝рд╛ рддреЛ рдореИрдВрдиреЗ рдЙрд╕ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ред рдХреНрдпрд╛ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ ngUpgrade рд╕рдорд╕реНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдзрд┐рдХ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдгреАрдп 1.x рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИред рд╢рд╛рдпрдж рдЗрд╕реЗ рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рдЬреЛ рдШрдЯрдХ рдХрд╛ рдирд╛рдо рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдирд╛рдо рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ? рдЗрд╕ рддрд░рд╣ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдкреИрдЯрд░реНрди рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреНрд░рд╡рд╛рд╕ рдкрде рдХреА рд╕реЗрд╡рд╛ рдХрд░рддрд╛ рд╣реИред

рдмрд╛рдЗрдХрд╢реЗрдб рдХрд╛ рд╕рдордпред

$ctrl рдХреЗ рд▓рд┐рдП +1ред

Ctrl рдХреЗ рдкрд╛рд╕ рдХреЛрдгреАрдп 1 рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдВрд╕реНрдХреГрддрд┐ рд╣реИ рдФрд░ рдЙрджрд╛рд╣рд░рдг "рдирд┐рдпрдВрддреНрд░рдХ" рдкреНрд░рддреНрдпрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИрдВред рдЕрдЪреНрдЫреЗ рдЙрдкрд╛рдп рдХреЗ рд▓рд┐рдП "рдХреЛрдгреАрдп Ctrl" рдХреЛ рдЧреБрдЧрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдШрдЯрдХ рдирд╛рдо рд╕реЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╡рд░реНрддрдорд╛рди рдкрд╕рдВрдж рдХрд╛рдлреА рдЦрд░рд╛рдм рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд╛рдлреА рд▓рдВрдмрд╛ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

:+1: $ctrl рдХреЗ рд▓рд┐рдП, $vm рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмрдпрд╛рди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред

$ctrl рдХреЗ рд▓рд┐рдП +1ред

рд╣рдордиреЗ рдПрдирдЬреА-рдлреЙрд░рд╡рд░реНрдб рдЯреАрдо рдкрд░ рдЗрд╕ рдкрд░ рдХрд╛рдлреА рдмрд╣рд╕ рдХреА рдФрд░ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ ctrl vm рд╕реЗ рдХрдо рд▓реЛрдбреЗрдб рдЯрд░реНрдо рдерд╛ред

рдореИрдВ $ctrl рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдпрд╣ рдкреАрдкреАрдПрд▓ рдХреЛ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ vm рдЕрдм рдФрд░ рдХреЙрд▓ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИ :P

рдУрд╣, рдореИрдВ рдЗрд╕реЗ рднреА рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛

рдЗрд╕реЗ рдЗрдирдкреБрдЯ ConTRoL рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдирд╛рд╣ред рдЬрд╝рд░реБрд░реА рдирд╣реАрдВред

$ctrl

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдФрд░ рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдпреБрдХреНрдд рд╣реЛрдЧрд╛ред

+1 $ctrl

рдЕрдиреНрдп рд╕реБрдЭрд╛рд╡:

  1. $as - рдЬреИрд╕реЗ рдХрдВрдЯреНрд░реЛрд▓рд░ as
  2. $at - рдЬреИрд╕реЗ @ - рдЬрдмрдХрд┐ рдХреЙрдлреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдпрд╣ 'рдЗрд╕' рд╕рдВрджрд░реНрдн рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реИ
  3. $class - рд╣рд╛рд▓рд╛рдВрдХрд┐ 5 рд╡рд░реНрдг, рдпрд╣ ng2 рдШрдЯрдХ рд╡рд░реНрдЧ рд╕рдВрдХреЗрддрди рдХреЗ рдХрд░реАрдм рд╣реИред
  4. $prox - рдЪреВрдВрдХрд┐ рдЕрд╡рдзрд╛рд░рдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ, Ctrl рдЙрджрд╛рд╣рд░рдг рдПрдХ рд╕реЗрд╡рд╛ рдкрд░рдд рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╣реИ
  5. $ctx - рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд╢реЙрд░реНрдЯрдХрдЯ
    рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВ $this рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ ng2 this рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реИ (рдФрд░ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ component ng1 рдФрд░ ng2 рдХреЗ рдмреАрдЪ рд╕рдВрдХреНрд░рдордг рдЙрдкрдХрд░рдг рдХреА рднреВрдорд┐рдХрд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ)ред

$ctrl . рдХреЗ рд▓рд┐рдП +1

рдореИрдВ $ctrl рд╕рдВрдкрддреНрддрд┐ рдХреЛ рднреА рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдШрдЯрдХ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред

$ctrl . рдХреЗ рд▓рд┐рдП +1

$this . рдХреЗ рд▓рд┐рдП +1

рдореИрдВ this рдХреЛ рдЫреЛрдбрд╝ $ рдЕрдЧрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИрдХ рдирд╣реАрдВ рдерд╛ред рдпрд╣ рднреА рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд╕рдВрдХреНрд╖реЗрдк рд╕реЗ рдирдлрд░рдд рд╣реИред :)

рдореИрдВ $ctrl рдпрд╛ $cc (рдШрдЯрдХ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯрд╛ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ) рдХреЗ рд▓рд┐рдП рдЬрд╛рдКрдВрдЧрд╛

$ctrl . рдХреЗ рд▓рд┐рдП +1

рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ $troll рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ $this рдФрд░ рдЖрдзрд╛ $controller рд╣реИред рдирд╣реАрдВ, рдордЬрд╛рдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВ $ctrl рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВред :+1:

$ctrl + 1

$vm

рдкреЗрд╢реЗрд╡рд░реЛрдВ

  • рдХрдо рдирдИ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ
  • рдХрдо
  • рд╡рд╕реНрддреБ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рд╕рдВрдХреНрд░рдордг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ ... рдФрд░ рдпрд╣реА рдмрд╛рдд рд╣реИ)

рджреЛрд╖

  • рд╡рд╕реНрддреБ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдЗрд╕рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рд╕рдВрдХреНрд░рдордг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ ... рдФрд░ рдпрд╣реА рдмрд╛рдд рд╣реИ)

$ctx - рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд╢реЙрд░реНрдЯрдХрдЯред

$ctrl рд╕реЗ рдХрдо рдЕрдирд╛рдо, $vm $comp рдпрд╛ $this рдЬреИрд╕рд╛ рдХреЛрдИ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВред

рдореИрдВрдиреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрди (рдЬреЗрдб, рд╣реИрдВрдбрд▓рдмрд╛рд░реНрд╕, рдореВрдВрдЫреЗрдВ.рдЬреЗрдПрд╕, рдбрд╕реНрдЯ.рдЬреЗрдПрд╕, рдирдирдЬрдХреНрд╕, рдИрдЬреЗрдПрд╕, рдЖрджрд┐) рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реА рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд╛рдо context , locals рдпрд╛ data рдХрд╛ рдЙрдкрдпреЛрдЧ рд░реЗрдВрдбрд░ рд╡рд┐рдзрд┐ рдХреЛ рджрд┐рдП рдЧрдП рдЪрд░ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рд╛рде рд╣реА $ctx , рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, $ctrl (рдпрд╛ $this ) рдХреЗ рд╕рдорд╛рди рд╕рдВрдЬреНрдЮрд╛рдирд╛рддреНрдордХ рдЕрдзрд┐рднрд╛рд░ рдирд╣реАрдВ рд╣реИ рдФрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдкрдиреЗ рдХрд╣рд╛ in Angular 2, where the context is the controller ред

@albertosantini - $ctx рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрджрд░реНрдн рд╡рд░реНрддрдорд╛рди рджрд╛рдпрд░рд╛ рд╣реИ, рдЬреЛ рд╕реАрдзреЗ this рджреНрд╡рд╛рд░рд╛ рднреА рдкрд╣реБрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

$vc - рд╡реНрдпреВ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рд╣реИред
рдореБрдЭреЗ рд╕реЗрдм рдХреЗ рдбреЙрдХреНрд╕ . рдореЗрдВ рдПрдХ рд╕рдВрджрд░реНрдн рдорд┐рд▓рд╛ рд╣реИ

рдЯреАрдПрд▓рдбреАрдЖрд░;

"... UIViewController рд╡рд░реНрдЧ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ, рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ ..."

рдореИрдВ $this рдХреЗ рд▓рд┐рдП рдЬреЛрд░рджрд╛рд░ рдорддрджрд╛рди рдХрд░рддрд╛ рд╣реВрдВ:

<textarea ng-change="$this.handleChange">

_рдкреЗрд╢реЗрд╡рд░:_

  • рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд▓рд╛рдн : рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдЕрдВрджрд░ рдХреЛрдИ ctrl = this рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддрд╛рдХрд┐ рджреЛрдиреЛрдВ рдЗрдХрд╛рдЗрдпрд╛рдВ рд╕рдорд╛рди рджрд┐рдЦреЗрдВред
  • $this рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдПрдВрдЧреБрд▓рд░ _"рдЕрдзрд┐рдХ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реА рднрд╛рд╖рд╛"_ рдкреЗрд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдПрдВрдЧреБрд▓рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рд╢рд┐рдХрд╛рдпрддреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ ред рдЖрдкрдХрд╛ рдирд┐рдпрдВрддреНрд░рдХ рдЗрд╕ рддрд░рд╣ рдкреНрд░рджреВрд╖рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛:
  controller: function() {
    var ctrl = this;

    ctrl.items = [];
    ctrl.text = '';
    ctrl.handleSubmit = function () {
        ctrl.items.push({text: ctrl.text});
        ctrl.text = '';
    };
  }

рдХреНрд▓реАрдирд░, рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг, рдФрд░ рд░реВрдкрд░реЗрдЦрд╛-рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рдХреЗ рдмрдЬрд╛рдп

  controller: function() {
    this.items = [];
    this.text = '';
    this.handleSubmit = function () {
       this.items.push({text: this.text});
       this.text = '';
    };
  • рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдПрдХ рд╢реБрджреНрдз рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕реЗ рдХреЛрдгреАрдп рдХреЗ рд╕рд╛рде рдпрд╛ рдмрд┐рдирд╛ рдХрд╣реАрдВ рднреА рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреВрд░реНрд╡ рдХрд╣реАрдВ рдФрд░ рд╕рдВрджрд░реНрдн рд╕реЗ рдмрд╛рд╣рд░ рджрд┐рдЦреЗрдЧрд╛ред
  • рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдмрд╛рдж рдХреЗ рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд░ рднреА рдЖрдкрдХрд╛ рдорд┐рддреНрд░ рдХреИрд╕реЗ рд╣реИ рдФрд░ рдпрд╣ рдЖрдкрдХреЛ рдкреВрд░реНрд╡ рдореЗрдВ рдХреИрд╕реЗ рд▓рдбрд╝ рд░рд╣рд╛ рд╣реИред рдХреЛрдб рдкрдардиреАрдпрддрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджрд╛ рд╣реИред
  • рдпрд╣ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЙрдирдХреЗ рд▓реИрдВрдбрд┐рдВрдЧ рдкреГрд╖реНрда рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдорд╛рди рд╣реИ:
<textarea onChange={this.handleChange}>
  • рд░рд┐рдПрдХреНрдЯ рдореЗрдВ DOM рд╕рдВрджрд░реНрдн рдФрд░ рдХрдВрдЯреНрд░реЛрд▓рд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рджреЛрдиреЛрдВ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд░рд┐рдПрдХреНрдЯ рдЙрд╕ рдкрд░ рдкреВрдВрдЬреАрдХрд░рдг рднреА рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдЙрдирдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рд░рд▓ рд╣реИред
  • рдХреЛрдгреАрдп рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдорд╛рдирддрд╛ рдЕрдзрд┐рдХ рджреЛрд╕реНрддрд╛рдирд╛ рдЙрд░реНрдл тАЛтАЛтАЛтАЛрдЙрдиреНрд╣реЗрдВ рдХрдо рднреНрд░рдорд┐рдд рдорд╣рд╕реВрд╕ рдХрд░реЗрдЧреАред

@dmitriz AngularJS рдореЗрдВ $this рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╕рдВрджрд░реНрдн (рдпрд╛рдиреА this ) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░рд┐рдПрдХреНрдЯ (рдФрд░ рдХреЛрдгреАрдп 2) рдореЗрдВ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╣реА рдЪреАрдЬ рд╣реИрдВ рдФрд░ рдЗрд╕рд▓рд┐рдП this (рдпрд╛ $this ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдХреЛрдгреАрдп 1 рдореЗрдВ, рд╡реЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдЗрд╕рд▓рд┐рдП $this рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдФрд░ рднреА рдЕрдзрд┐рдХ рднреНрд░рдо рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЪреАрдЬреЛрдВ рдХреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрдХреНрд╖ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдИрдПрд╕ 5 рдХреЛрдб рдореЗрдВ рдЙрд░реНрдл this рд╕реЗ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП this рдХреЗ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдореБрджреНрджреЛрдВ рдХреЗ рдХрд╛рд░рдг рдореБрдлреНрдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрдо рд╣реИред рддреЛ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА var that = this рдЬреИрд╕рд╛ рдХреБрдЫ рднреА рд╣реЛрдЧрд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрдИ рднреА var ctrl = this рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ this рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдЪрд┐рдд IMO рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЛ рдмрд╛рд╣рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХрд┐рд╕реА рдЕрдиреНрдп рдирд╛рдо рд╕реЗ рджреЗрдЦреЗрдВред

@dmitriz , рдЖрдкрдХреЗ рдкрд╛рд╕ рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рджреГрд╢реНрдп рдореЗрдВ рд╕рдорд╛рди рдЙрдкрдирд╛рдо рдирд╣реАрдВ рд╣реИ (рдореИрдВ рдХрднреА рдирд╣реАрдВ рдХрд░рддрд╛)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВ рд╣рдореЗрд╢рд╛ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ var self = this рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдХреЙрд▓рдмреИрдХ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП .bind(this) рд╣реЛрдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдПред
рддреЛ, рдпрд╣ рдХреЛрдИ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЖрдИрдПрдордУред

рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ:

  • $ctx : рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ (рдЬреИрд╕рд╛ рдХрд┐ @petebacondarwin рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ), рдирд┐рдпрдВрддреНрд░рдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рд╣реИред
  • $this : рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ (рдХреЛрдгреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ) this рд╡рд░реНрддрдорд╛рди рджрд╛рдпрд░реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдирд╛рдо рд╣реИ, рдЗрд╕рд▓рд┐рдП this --> scope рдФрд░ $this --> controller рдФрд░ рднреА рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрдЧрд╛ред (рдореИрдВ рдЗрд╕реЗ рдЕрдиреНрдпрдерд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ред)
  • $vm : рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ (рдЬрд┐рди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдЕрдЧрд░ рдХреБрдЫ рднреА рдмреЗрд╣рддрд░ рд╣рдорд╛рд░реА рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
  • $cmp : рдЕрддрд┐-рд╕рдВрддреЛрд╖рдЬрдирдХ рдирд╣реАрдВ (рдХреНрдпреЛрдВрдХрд┐ 100% рд╕рдЯреАрдХ рдирд╣реАрдВ), рд▓реЗрдХрд┐рди рдкрд░реНрдпрд╛рдкреНрдд рдШреЛрд╖рдгрд╛рддреНрдордХред рдЗрд╕рдХреЗ рд╕рд╛рде рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЕрдЧрд░ рдХреБрдЫ рднреА рдмреЗрд╣рддрд░ рд╣рдорд╛рд░реА рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
  • $comp : рдореИрдВ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ $cmp , рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЫреЛрдЯрд╛ рд╣реИ (рдФрд░ рдореБрдЭреЗ рдпрд╣ compare рд╕реЗ $comp рдХреЗ рд╕рд╛рде "рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп" рдирд╣реАрдВ рд▓рдЧрддрд╛)ред
  • $ctrl : рдореБрдЭреЗ рдпрд╣ рдмрд╣реБрдд рдкрд╕рдВрдж рд╣реИред рдпрд╣ рдХрд╛рдлреА рдЫреЛрдЯрд╛, рдШреЛрд╖рдгрд╛рддреНрдордХ рдФрд░ рдЬрд┐рддрдирд╛ рд╕рдЯреАрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЙрддрдирд╛ рд╕рдЯреАрдХ рд╣реИред рдореИрдВрдиреЗ рд╣рдореЗрд╢рд╛ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ ctrl рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпрдп рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдХрднреА рднреА ConTRoL рдХреЗ рд╕рд╛рде рдХреЛрдИ рднреНрд░рдо рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░ рд▓реЛрдЧ рдЬреЛрд░ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рднреНрд░рдо рд╣реЛ рдЧрдпрд╛ рд╣реИ :))ред рдЕрдЧрд░ рд╣рдо рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рднреНрд░рдо рдХреЛрдИ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬрд╛рдКрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВред
  • $troll : рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЗрд╕рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреНрд╖рдорддрд╛ рд╣реИ :stuck_out_tongue:
  • рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк ( $as , $at , $cc , $prox , $vc ): рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдирдИ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдкреЗрд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╣реЛрдВрдЧреЗ рдорджрджрдЧрд╛рд░ рд╕реЗ рднреНрд░рдорд┐рддред

рдореИрдВ $ctrl рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ _is_ рдирд┐рд░реНрджреЗрд╢ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИред рд╕рд░рд▓ред

рджреВрд╕рд░реЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл:

  • $vm - рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИ => рдпрд╛ рддреЛ рдкреИрдЯрд░реНрди/рдХреЛрдб рдкрдврд╝рдиреЗ рдореЗрдВ рднреНрд░рдо рдпрд╛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдХрдо рд╡рд┐рдХрд▓реНрдк (рд╡реАрдПрдо рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░)
  • $cmp -- рдареАрдХ рд╣реИ, рдпрд╣ рдШрдЯрдХ рд╣реА рдирд╣реАрдВ рдмрд▓реНрдХрд┐ (рдХреЗрд╡рд▓) рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ? рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднреНрд░рд╛рдордХ?
  • $this -- рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рдпрд╣ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдирд┐рдпрдВрддреНрд░рдХ рдЙрджрд╛рд╣рд░рдг рдЗрд╕реЗ "рдпрд╣" рджрд╛рдпрд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдмрдирд╛рддрд╛ рд╣реИ? рдЕрд░реНрдерд╛рддреН, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ .. рдареАрдХ рд╣реИ .. рд╕рдордЭрджрд╛рд░?
  • $ctx -- рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ $this рдЬреИрд╕рд╛ рд╣реА рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкрд╛рд╕реНрдХрд▓ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рд╣реИ: рдореБрдЭреЗ рдирд┐рдпрдВрддреНрд░рдг рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рднреНрд░рдо рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рдЬрдм рддрдХ Angular2 рд╕рднреА DOM/рдЗрдирдкреБрдЯ рддрддреНрд╡реЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрдВрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ (рдпрд╛рдиреА $ctrl, $val, $cmbx, рдФрд░ рдЗрд╕реА рддрд░рд╣), рдореБрдЭреЗ рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИред

+1 $ctrl

рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рд╣реА рдкрдВрдХреНрддрд┐ рдореЗрдВ:

  • $vm , $as , $at , $cc , $prox , $vc , $ctx ,ред ..: рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдирдИ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ
  • $this : рдХреНрдпреЛрдВрдХрд┐ this рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  • $cmp рдпрд╛ $comp : (рдмреЗрд╣рддрд░ рдкрд╣рд▓реЗ) рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдШрдЯрдХ рдореЙрдбрд▓ рдореЗрдВ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕реАрдзреЗ рдЖрдЧреЗ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
  • $ctrl : рдХреЗрд╡рд▓ рд╡рд╣реА рд╣реИ рдЬреЛ рджрд╛рдпрд░реЗ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдирд┐рдпрдВрддреНрд░рдХ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдордЭрдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд▓рдЧрддрд╛ рд╣реИ

рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ this = $scope рдирд╣реАрдВ рдкрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди, рд╣рд╛рдБ, рдпрд╣ рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдлрд┐рд░ $ctrl рдЕрдЧрд▓реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рд╡рд┐рдХрд▓реНрдк рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ $troll рдЬреЛ рд╣реИ :)

+1 $ctrl рдХреЗ рд▓рд┐рдП : рд╕рдмрд╕реЗ рд╕рд╣рдЬ рдФрд░ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп

@petebacondarwin рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рддреЛ $ctrl рдХреЗ рд▓рд┐рдП +1ред

рдореИрдВ рдШреЛрд╖рдгрд╛рддреНрдордХ $ctrl рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред

рдЕрдЪреНрдЫрд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ?

@petebacondarwin @PascalPrecht

VM рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?

(рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рд╕реА рдЕрдиреНрдп рдореБрджреНрджреЗ рдкрд░ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рддреЛ рдпрджрд┐ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ)

рдХреНрдпреЛрдВрдХрд┐ AFAIK, рдХреЛрдгреАрдп рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ MVC рдХреЗ рд╢рд╛рд╕реНрддреНрд░реАрдп рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдореЙрдбрд▓ рджреЗрдЦреЗрдВ рдХреЗ рдХрд░реАрдм рд╣реИрдВред рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИред

$vm . рдХреЗ рд▓рд┐рдП +1

рдореИрдВ @QuinntyneBrown рдХреА рдмрд╛рддреЛрдВ рд╕реЗ рд╕рд╣рдордд рд╣реВрдБ -

рдпрд╣ рдЫреЛрдЯрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг -

@johnpapa рдХреА рд╕реНрдЯрд╛рдЗрд▓ рдЧрд╛рдЗрдб рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕реЗ рдЕрдкрдиреЗ "рдирдП рдбреЗрд╡рд▓рдкрд░реНрд╕" рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

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

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЫреЛрдЯрд╛ "$vm" рдирд╛рдо рдкрд╕рдВрдж рд╣реИ (BTW, рдЗрд╕реЗ $ рд╕реЗ рдХреНрдпреЛрдВ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? :)

(рдмреАрдЯреАрдбрдмреНрд▓реВ, рдЗрд╕реЗ $ рд╕реЗ рдХреНрдпреЛрдВ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? :)

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

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

рд╢реИрд▓реА Y032 рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдХреИрдкреНрдЪрд░ рд╡реЗрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрдм ControllerAs рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдПрдХ рд╕реБрд╕рдВрдЧрдд рдЪрд░ рдирд╛рдо рдЪреБрдиреЗрдВ рдЬреИрд╕реЗ рдХрд┐ vm, рдЬреЛ ViewModel рдХреЗ рд▓рд┐рдП рд╣реИред

рддреЛ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдпрд╣ vm , ctrl , рдпрд╛ troll рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕реБрд╕рдВрдЧрдд рдЪрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдмрддрд╛рдпрд╛, рд╡рд┐рдЪрд╛рд░ рдирдИ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдирд╣реАрдВ рд╣реИ: vm рдЕрд░реНрде рд╣реИ ViewModel , рдпрджрд┐ рдЖрдк рд╡реНрдпреВ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдЗрд╕рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдПрдВрдЧреЗ vm рдпрд╛ ViewModel рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ, рдЬреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрдЧрд╛ред

рдореИрдВ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирд╛рдореЛрдВ рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рдирд╣реАрдВ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ctrl рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдпрд╣ рдирд┐рдпрдВрддреНрд░рдХ рд╣реИ? рдирд┐рдпрдВрддреНрд░рдг (рдПрдЪрдЯреАрдПрдордПрд▓ рдирд┐рдпрдВрддреНрд░рдг рдХреА рддрд░рд╣)? рдФрд░ рдпрд╣ рдПрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ?

рдореИрдВ рдпрд╛ рддреЛ vm рдпрд╛ comp рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░рддрд╛ рд╣реВрдВред vm рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдордЭрд╛рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред comp рдирдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рдорд╛рддреНрдорд╛ рдХреЗ рд▓рд┐рдП рдХрдард┐рди рдирд╣реАрдВ рд╣реИред

$# $ctrl рдХреЗ рдмрдЬрд╛рдп $ctlr (рдпрд╛рдиреА ConTroLleR) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ?

+1 $рдХрдВрдк

@petebacondarwin рдУрд╣ рдбрд┐рд╕реНрд▓реЗрдХреНрдЯрд┐рдХреНрд╕ рдХреА рдорд╛рддреНрд░рд╛ (рдореЗрд░реЗ рдЬреИрд╕реЗ) рдЬреЛ рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдореБрджреНрджреЛрдВ рдХреЗ рд╕рд╛рде рдмрдордмрд╛рд░реА рдХрд░реЗрдЧреА ... :)

@drpicox рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЖрдкрдХреЗ рдЕрдВрдХ рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рд╡реЗ рдорд╛рдиреНрдп рд╣реИрдВред рдпрд╣ рдПрдХ рдХрдард┐рди рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдХрдо рд╕реЗ рдХрдо рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ "рд╡реАрдПрдо" рд╕рдореНрдореЗрд▓рди рд╕рд┐рдЦрд╛рдиреЗ рдореЗрдВ рдХреЛрдИ рдкрд░реЗрд╢рд╛рдиреА рдирд╣реАрдВ рд╣реБрдИ, рдФрд░ рдХреБрдЫ рдХрдВрдкрдирд┐рдпреЛрдВ рдиреЗ рдЕрдкрдиреЗ рд╡рд┐рд╢рд╛рд▓ рдРрдк рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреА, рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдмрд╣реБрдд рддреЗрдЬрд╝ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдореИрдВ ' рдЗрд╕ рдЕрдиреБрднрд╡ рдореЗрдВ рдореИрдВ рдЕрдХреЗрд▓рд╛ рд╣реВрдБред

рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреА рдмрд╛рддреЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред $ . рд╕реЗ рд╕рд╣рдордд

рдореИрдВ рдЕрднреА рднреА $vm рдХреЗ рд▓рд┐рдП рд╣реВрдБ, рд▓реЗрдХрд┐рди $comp рдХреЗ рд╕рд╛рде рднреА рдареАрдХ рд╣реВрдБ ...

рдХреЛрдгреАрдп рдпреВрдЖрдИ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдЯреАрдо рд╕реЗ @wesleycho vm рдХреЗ рдЦрд┐рд▓рд╛рдл рджреГрдврд╝рддрд╛ рд╕реЗ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ:
https://github.com/angular/angular.js/issues/10007#issuecomment -166707284

$ctrl . рдХреЗ рд▓рд┐рдП +1

@shairez рдореИрдВ рдПрдХ рд╕рдореНрдореЗрд▓рди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрдкрдХреА рдмрд╛рдд рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдПрдХ рдлреНрд░реАрд▓рд╛рдВрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рд╣реВрдВ рдЬрд┐рд╕рдХреЗ рдкреАрдЫреЗ рджрд╕рд┐рдпреЛрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ, vm рд╕рдореНрдореЗрд▓рди рдиреЗ рдмрд╣реБрдд рдорджрдж рдХреА, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдХреБрдЫ рдореБрджреНрджреЗ рд╣реИрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рд░реЛрдз рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╢рд╛рдпрдж рдкреНрд░рддрд┐рд░реЛрдз рдХрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдЧрд░ рдпрд╣ рд╕рдореНрдореЗрд▓рди рдХреЛрдгреАрдп рд╕реЗ рд╣реА рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЕрдЧрд░ рдирд╛рдо $ctrl рд╣реЛрддрд╛ рддреЛ рд╡реЗ рдЗрд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рддрд┐рд░реЛрдз рдХреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд▓реЗрддреЗред $ctrl рд╕реАрдзреЗ рдЖрдЧреЗ рд╣реИред

рддреЛ рд╡реЛрдЯ рдЕрдВрджрд░ рд╣реИрдВ рдФрд░ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

$comp  4
$cmp   2
$ctrl  19
$vm    3
$this  3
$ctx   2
$vc    1

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

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛, $ctrl рдпрд╣ рд╣реИ!

1.4 рдФрд░ рдЙрд╕рд╕реЗ рдХрдо рдХреЗ рд▓рд┐рдП рдЕрдВрдХ - $ctrl . рдХреЗ рд╕рд╛рде 'рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ' рдирд╛рдо рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛

рдПрдХ рдФрд░ рдЪрд┐рдВрддрд╛ рдЬреЛ рдореИрдВ рдЙрдард╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдгреАрдп 1.4 рдФрд░ рдЙрд╕рд╕реЗ рдХрдо рдореЗрдВ, рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ" рдХрд╛ рдЙрдкрдпреЛрдЧ $ рдЪрд┐рд╣реНрди рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ:
Error: [$controller:ctrlfmt] Badly formed controller string

рдХреБрдЫ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдХрдИ рдорд╣реАрдиреЗ рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реЗ рдЕрднреА рднреА рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЗ рд╕рд╛рде рдмрдиреЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдирдХреА рдЕрдкрдЧреНрд░реЗрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧреАред

рдЙрдирдХреЗ рд▓рд┐рдП, vm рд╕реЗ $ctrl рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред

рддреБрдо рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реЛ? рдХреЛрдИ рд╕реБрдЭрд╛рд╡?

рд╢рд╛рдпрдж рдЪрд░рдгреЛрдВ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ:
vm рдХреЛ ctrl . рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ
рдЬрдм 1.5 рд░рд┐рд▓реАрдЬрд╝ рд╣реЛ, рддреЛ ctrl рд╕реЗ $ctrl . "рдЕрдкрдЧреНрд░реЗрдб" рдХрд░реЗрдВ

рдПрдХ рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рд┐рдд рддрд░реАрдХрд╛ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд░реНрдмреЛрдЬрд╝ - рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдЕрд╕ рдЙрдкрдирд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реИ, angular.version рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:

 angular
        .module('github')
        .directive('issueThread', issueThread);

    /* <strong i="14">@ngInject</strong> */
    function issueThread () {
        // this can be required as a module if using some module loader
        // or - another way is using global on angular namespace (i know it a bad practice - hwoever just to indicate reuse of this check 
        let prefix = angular.version.minor === 5 ? '$' : '';
        let controllerAs = prefix + 'ctrl';
        // with template strings
        var controllerAs = `${prefix}ctrl`;

        var directive = {
            controller: controller,
            restrict: 'E'
        };
        return directive;

        function controller() {
        }
    }

@orizens рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

@shairez Uhmmm рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, $ рдкреНрд░рддреАрдХ рдХреЗрд╡рд▓ рдХреЛрдгреАрдп рдЖрдВрддрд░рд┐рдХ рдХреЗ рд▓рд┐рдП рд╣реИрдВ ... рдЕрдЧрд▓реЗ рдирд╛рдмрд╛рд▓рд┐рдЧ рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЖрдЧреЗ рдХреА рд╕рдВрдЧрддрддрд╛ рдЕрдЪреНрдЫреА рд╣реЛ рд╕рдХрддреА рд╣реИред

@drpicox рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рдПрдХ рдмрд┐рдВрджреБ рдорд┐рд▓рд╛ :)ред
рджреЛрдмрд╛рд░рд╛, рдПрдХ рд╕рдорд╛рдзрд╛рди рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ (рд╣реИрдХреА рдПрдХ ...), рд╣реИ, рд░рдирдЯрд╛рдЗрдо/рдмрд┐рд▓реНрдб рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ $ ctrl рдХреЗ рд╕рд╛рде ctrl "рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ"ред рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ es6 рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдЕрдиреНрдпрдерд╛, рдпрд╣ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдкрд░ рдЧрд▓реНрдк/рдЧреНрд░рдВрдЯ/рдПрдирдкреАрдПрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдп рд╣реИред

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

(рдпрджрд┐ рдХреЛрдИ рдЙрд╕ рдЗрдВрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░ рдХреЛ RegExp рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдЕрджреНрдпрддрди рдкрд░ рдПрдХ рд╢реЙрдЯ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╡рд╣реАрдВ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рд╣реИред)

@gkalpak рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдмрд┐рдВрджреБ рд╣реИ, controllerAs рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧ рдЕрдкрдиреЗ 1.4 рдФрд░ рдирд┐рдореНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рдХрд░реЗрдВрдЧреЗ, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИред

рд▓реЗрдХрд┐рди, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рд╣рдо рд▓реЛрдЧреЛрдВ рдХреЛ $ctrl рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВ рдФрд░ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред

рддреЛ рдПрдХ рдЖрдЧреЗ рд╕рдВрдЧрддрддрд╛ (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ), рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ!

@shairez рдХреНрдпрд╛ рдЖрдкрдиреЗ (рдХреНрдпрд╛ рдЖрдк) рдЗрд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдпрд╛ рд╣реИ?

рдореИрдВрдиреЗ #13736 рдмрдирд╛рдпрд╛ рдЬреЛ $#$ <ctrl> as <identifier> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдореЗрдВ $ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдлрд┐рд░ рднреА рдЕрдиреБрдордд рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ controller: '... as ...' рдмрдирд╛рдо controllerAs: '...' рдХреЗ рдмреАрдЪ рднрд┐рдиреНрди рд╣реИрдВред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ controller: '... as $ctrl' рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдирд╛ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИред controller: '... as $ctrl' рдХреЛ controller: '...', controllerAs: '$ctrl' $ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж @gkalpak - рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдмрдЬрд╛рдп рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ controllerAs рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

@frfancha - рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рддреБрд░рдВрдд рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП $injector рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ, рд╣реИ рдирд╛? рд╢рд╛рдпрдж рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рди рдорд╛рдк рд╣реИрдВ рдЬреЛ рдЖрдк рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдШрдЯрдХ рд╕рд╣рд╛рдпрдХ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдШрдЯрдХ рдкреНрд░рдХрд╛рд░ (рдкреГрдердХ, рддрддреНрд╡) рдирд┐рд░реНрджреЗрд╢ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рд░рд▓ (рдПрд▓рдУрд╕реА рдЕрд░реНрде рдореЗрдВ) рдмрдирд╛рдирд╛ рд╣реИ; рдФрд░ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬреЛ рдХрд┐ рдХреЛрдгреАрдп 2 рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЗрдирд▓рд╛рдЗрди рд╣реИред

рдпрджрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдРрдк рдореЗрдВ рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛ рд╣реИ рддреЛ рдПрдХ рдШрдЯрдХ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп directive рд╕рд╣рд╛рдпрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдПрдкреАрдЖрдИ рдбреЙрдХреНрд╕ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдЧрд╛рдЗрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рд╡реЗ рдирдП component() рд╣реЗрд▓реНрдкрд░ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред

@petebacondarwin рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдордиреЗ рдЕрдкрдиреЗ рд╕рднреА рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдерд╛, рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдП рдЧрдП рдкрд╣рд▓реЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдХреЗрд╡рд▓ рдЬрдм рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ 1000 рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреГрд╖реНрда рдХреЛ "рдЦреЛрд▓рдиреЗ" рдореЗрдВ рд▓рдЧрднрдЧ 15 рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд▓рдЧрд╛ (рдПрдирдЬреА-рд░рд┐рдкреАрдЯ x 200 рдореЗрдВ "рдкрдВрдХреНрддрд┐рдпреЛрдВ" рджреНрд╡рд╛рд░рд╛ 5), рд╣рдо рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдирд┐рдпрдВрддреНрд░рдХ рдмреЗрдХрд╛рд░ рд╣реИрдВ " рдмреЛрд▓реЗрдВ" рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдмреАрдЪ (рджреВрд╕рд░реЗ рдХреЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛)ред рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рдмрдЬрд╛рдп рд▓рд┐рдВрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рднреА "рдкреБрдирд░реНрд▓реЗрдЦрди" рдХреЗ рдмрд╛рдж (рдкреБрдирд░реНрд▓реЗрдЦрди рдПрдХ рдмрдбрд╝рд╛ рд╢рдмреНрдж рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдмрдЬрд╛рдп рд▓рд┐рдВрдХ рдореЗрдВ рдХреЛрдб рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐/рдкреЗрд╕реНрдЯ рдерд╛), рдкреГрд╖реНрда рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп 8 рд╕реЗрдХрдВрдб рдерд╛ред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпреЗ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЗ рдЙрдкрд╛рдп рд╣реИрдВ, рдЙрд╕ рд╕рдордп рд╣рдордиреЗ рдХреНрд░реЛрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рдЕрдм рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрд░реЛрдо рдореЗрдВ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХрд╛ рддреАрд╕рд░рд╛ рд╕рдордп рд╣реИ (рдФрд░ рдореЗрдореЛрд░реА рдХрд╛ рдЪреМрдерд╛ рдЙрдкрдпреЛрдЧ (рдФрд░ рдореЗрдореЛрд░реА рд▓реАрдХ рдХреЗ рдмрд┐рдирд╛, рдЬреЛ рдХрд┐ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ "рджреЛрдкрд╣рд░ рдореЗрдВ рдзреАрдорд╛) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
рд╣рдо рдЖрдо рддреМрд░ рдкрд░ рдХреЛрдгреАрдп рд╕реЗ рдмрд╣реБрдд рдЦреБрд╢ рд╣реЛрддреЗ рд╣реИрдВ (рд╣рдордиреЗ рдЕрдкрдиреЗ рд╕рднреА рдбреЗрдЯрд╛-рдПрдВрдЯреНрд░реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдореЙрд▓рдЯрд╛рдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд╡реЗрдм рдПрдкреАрдЖрдИ + рдХреЛрдгреАрдп рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ (рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ ?? рдореИрдВ рдХрднреА-рдХрднреА рд▓рдВрджрди рдореЗрдВ рд╣реВрдВ)ред
рд▓реЗрдХрд┐рди рдореИрдВ рдирд┐рд░реНрджреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рд╕рд░рд▓ рддрд░реАрдХреЗ" рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдкрд╕рдВрдж рд╕реЗ рд╣реИрд░рд╛рди рд╣реВрдВ

рдзрдиреНрдпрд╡рд╛рдж @gkalpak !

@petebacondarwin рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдЕрдм рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ? (рдкреАрдЖрд░ рдХреЗ рдХрд╛рд░рдг)

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛), рд╣рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЛрдЧ рдЗрд╕рдореЗрдВ рднрд╛рдЧ рд▓реЗрдВрдЧреЗред

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

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

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

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

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

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

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