Angular.js: рдХреЛрдгреАрдп 1.6 рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ<select>'рдПрди-рдПрдирдЬреА-рдореЙрдбрд▓' рдорд╛рди</select>

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

рдиреЛрдЯ : рд╕рдорд░реНрдерди рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдЪреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#questionред

рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
рдмрдЧ

рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
рдХреЛрдгреАрдп 1.6 рд░реАрд╕реЗрдЯ <select> s ng-model рдореВрд▓реНрдп рдЬрдм <option> s рд╕реВрдЪреА рдмрджрд▓рддрд╛ рд╣реИ ("рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА" рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВ)ред
рдХреЛрдгреАрдп 1.5 рдЗрд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдмрдЧ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдФрд░ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдиреНрдпреВрдирддрдо рдбреЗрдореЛ https://plnkr.co рдпрд╛ рд╕рдорд╛рди (рдЯреЗрдореНрдкрд▓реЗрдЯ: http://plnkr.co/edit/tpl:yBpEi4) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
рдХреЛрдгреАрдп 1.6: https://plnkr.co/edit/wHc4rzy7x9PAEqQLfVQT?p=preview
рдХреЛрдгреАрдп 1.5.11: https://plnkr.co/edit/e0LVMEtGP2j4JxNfn

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
ng-model рдХрд╛ рдореВрд▓реНрдп рд╣реИред

рд╡реНрдпрд╡рд╣рд╛рд░ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рдгрд╛ / рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рд╣реИ?
рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред

рдХреЛрдгреАрдп рдХреЗ рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдХреМрди рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ / OS рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИрдВ? рдХреГрдкрдпрд╛ рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рдФрд░ рд╕реНрдиреИрдкрд╢реЙрдЯ (https://code.angularjs.org/snapshot/) рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рднреА рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред
рдХреЛрдгреАрдп 1.6.x рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдХреЛрдгреАрдп 1.5.x рдирд╣реАрдВ рд╣реИред

рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА (рдЬреИрд╕реЗ рд╕реНрдЯреИрдХрдЯреНрд░реИрдХ, рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдБ, рд╕реБрдЭрд╛рд╡ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ)
рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдПрдВрдЧреБрд▓рд░ 1.6 рдЯреНрд░реИрдХреНрд╕ рдСрдкреНрд╢рдВрд╕ рдЗрд╕рдХреЗ рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рд╣реИ рдФрд░ options s рдореВрд▓реНрдп рд╕реЗ рдирд╣реАрдВред

рд╡рд┐рдХрд▓реНрдк рд╕рд░рдгреА рдХреЗ рдКрдкрд░ рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдореЗрдВ 2 рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ: [{val: "1"}, {val: "2"}] ред
ng-repeat рдЙрдирдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрди: рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдорд╛рди рдФрд░ рд╢реАрд░реНрд╖рдХ рджреЛрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ val рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
vm.selected рдХрд╛ рдЪрдпрди ng-model рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╢реБрд░реВ рдореЗрдВ рдЗрд╕реЗ "2" рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Change options рдмрдЯрди рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдЗрд╕ рдПрдХ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд▓реНрдк рд╕рд░рдгреА рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ: [{val: "2"}, {val: "3"}] рдФрд░ рдХреЛрдгреАрдп 1.6 vm.selected рдореВрд▓реНрдп рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдореВрд▓реНрдп 2 рд╕рд╛рде рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЕрднреА рднреА рд╕реВрдЪреА рдореЗрдВ рд╣реИред

рдХреЛрдгреАрдп 1.5 рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ vm.selected рдореВрд▓реНрдп рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИред

рдпрджрд┐ vm.options рдореЗрдВ рдЖрджрд┐рдо рдореВрд▓реНрдп рд╣реИрдВ рддреЛ рдмрдЧ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ ( рд╕реНрдирд┐рдкреЗрдЯ )ред

forms low investigation regression bug

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЬрд╛рдирдмреВрдЭрдХрд░ рдкрд░рд┐рд╡рд░реНрддрди рдерд╛ https://github.com/angular/angular.js/commit/47c15fbcc10f118181813021e8e605ffd263ad84 : "- рдЬрдм рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрдпрдирд┐рдд рд╣реИ, рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдХрд╛ рдорд╛рди рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореЙрдбрд▓ рдХреЛ рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред " рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдпрд╣ рдЯреВрдЯ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдХрд┐ ngRepeat рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рдЪрди рд▓реЗрдЧрд╛ред рдпрд╣ рднреА рдЖрд╕рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рддрддреНрд╡реЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг / рд╡рд┐рдирд╛рд╢ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рд╢реЗрдбреНрдпреВрд▓рд░ () рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, @gkalpak рдХреЗ рд▓рд┐рдП рдпрд╛рдп! рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рддреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдкреАрдЖрд░ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИред

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

рдПрдХ рд╡реИрдз рдореБрджреНрджреЗ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдпрд╣ 1.6.0-rc.0 рдореЗрдВ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдкрд╣рд▓реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрджреНрджрд╛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ:

  1. рдЬрдм рд╕рд░рдгреА рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рддреЛ ngRepeat рдкрд┐рдЫрд▓реЗ <option> рддрддреНрд╡реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред
  2. рдпрд╣ <select> рдХреЛ рдЕрдЪрдпрдирд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдФрд░ ngModel рдХреЛ рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  3. рдирдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ ngRepeat рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдФрд░ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЙрдбрд▓рд╡реИрд▓реНрдпреВ 2 рдХрд┐рд╕реА рднреА рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП <select> рдХреЛ <option value="2" ...> рд╕рд╛рде рд╕рдВрдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдПрдХ рдХрд╛рдо рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИ track by рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдФрд░ рдкреБрдирдГ рдмрдирд╛рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП <option> рддрддреНрд╡реЛрдВ:

<option ng-repeat="option in options track by option.val" value="option.val">...

#

рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рд╕реЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд┐рдЯ рдЗрд╕ рдХрд╛рд░рдг рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣реИрдВ (рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ):

  • f02b707
  • 47c15fb
  • 2785ad7

#

рдореЗрд░реЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░ рд╕реЗ, рдореИрдВ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ scheduleRender() рд╕рд╛рде рдмрджрд▓рдХрд░ рд╢реБрд░реВ рдХрд░реВрдВрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ ...

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ @Narretz рдореЗрдВ рдХреБрдЫ рдмреЗрд╣рддрд░ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рд╣реЛрдЧреА: рд╕реНрдорд╛рдЗрд▓реА:

рдПрдХ рдХрд╛рдо рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЯреНрд░реИрдХ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ

рд╣рд╛рдБ, рдпрд╣ рднреА рдкрддрд╛ рдЪрд▓рд╛ рд▓реЗрдХрд┐рди found рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЬрд╛рдирдмреВрдЭрдХрд░ рдкрд░рд┐рд╡рд░реНрддрди рдерд╛ https://github.com/angular/angular.js/commit/47c15fbcc10f118181813021e8e605ffd263ad84 : "- рдЬрдм рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрдпрдирд┐рдд рд╣реИ, рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдХрд╛ рдорд╛рди рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореЙрдбрд▓ рдХреЛ рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред " рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдпрд╣ рдЯреВрдЯ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдХрд┐ ngRepeat рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рдЪрди рд▓реЗрдЧрд╛ред рдпрд╣ рднреА рдЖрд╕рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рддрддреНрд╡реЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг / рд╡рд┐рдирд╛рд╢ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рд╢реЗрдбреНрдпреВрд▓рд░ () рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, @gkalpak рдХреЗ рд▓рд┐рдП рдпрд╛рдп! рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рддреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдкреАрдЖрд░ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИред

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

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

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

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

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

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

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