Ember.js: [рдЧреНрд▓рд┐рдорд░ 2] "рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рд░реА-рд░реЗрдВрдбрд░" рдЕрдм рдПрдХ рджрд╛рд╡рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдЬреБрд▓ре░ 2016  ┬╖  63рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: emberjs/ember.js

рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рд░реА-рд░реЗрдВрдбрд░ рдПрдХ рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ, рд░реЗрдВрдбрд░рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмреАрдЪ рдореЗрдВ, рдЖрдкрдиреЗ рдХреБрдЫ рдРрд╕рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рд░реЗрдВрдбрд░ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

{{foo}} {{foo-bar parent=this}}
// app/components/foo-bar.js

export default Ember.Component.extend({
  init() {
    this._super(...arguments);
    this.get('parent').set('foo', 'bar');
  }  
});

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рддрдХ foo-bar рдШрдЯрдХ рдХреЛ рддрддреНрдХрд╛рд▓ рдФрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рд╣рдордиреЗ {{foo}} рдШреБрдВрдШрд░рд╛рд▓реЗ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╕рдВрджрд░реНрдн рд╕реЗ рдореВрд▓реНрдп foo рдкрд╣рд▓реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдореЗрдВ, рдпрд╣ рдЙрд╕реА рдорд╛рди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдПред "рдкреАрдЫреЗ рд╣рдЯрдирд╛"ред

рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЪрд░рдо рдЙрджрд╛рд╣рд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ init , didInitAttrs , didReceiveAttrs , willInsertElement рдФрд░ willRender рднреА рдкреНрд░рддрд┐рдкрд╛рджрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╕рдордХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдЕрдХреНрд╕рд░ рджреЛ-рддрд░рдлрд╛ рдмрд╛рдзреНрдп рдЧреБрдгреЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣рдореЗрд╢рд╛ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдкрджрд╛рд╡рдирддрд┐ рдХреЗ рд╕рд╛рде рд╕рдорд░реНрдерд┐рдд рдерд╛ (рдПрдореНрдмрд░ 1.13 рдХреЗ рдмрд╛рдж рд╕реЗ):

You modified ApplicationController.foo twice in a single render. This was unreliable in Ember 1.x and will be removed in Ember 3.0

1.13 рдХреЗ рдмрд╛рдж рд╕реЗ, рдПрдореНрдмрд░ рдиреЗ рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдХрд╛ рдкрддрд╛ рдЪрд▓рдиреЗ рдкрд░ рддреБрд░рдВрдд рджреВрд╕рд░рд╛ рд░реА-рд░реЗрдВрдбрд░ рдХрд░рдХреЗ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ (рдФрд░ рддрдм рддрдХ рджреЛрд╣рд░рд╛рддреЗ рд░рд╣реЗ рдЬрдм рддрдХ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд┐рд░ рди рд╣реЛ рдЬрд╛рдП)ред рдпрд╣ рд░рдгрдиреАрддрд┐ рд╣реА рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕реНрд░реЛрдд рд╣реЛ рд╕рдХрддреА рд╣реИред рдЪрд░рдо рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдПрдХ рдЕрдирдВрдд рд▓реВрдк рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред

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

рд╕рд╛рде рдореЗрдВ, рдЗрди рдХрд╛рд░рдХреЛрдВ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдмреБрдХ-рдХреАрдкрд┐рдВрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЗрди рдЕрдиреБрдХреВрд▓рди рдХреЛ рдкрд░рд╛рдЬрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЗрди рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ set s (рдпрд╛ рдХреБрдЫ "рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛" рдпрд╛ рдирд╣реАрдВ) рдХрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред

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

рдПрдХ рд╕рдордЭреМрддреЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ рдкрд╣рдЪрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмрд╣рд┐рд╖реНрдХрд░рдг рд╕рдВрджреЗрд╢ рдХреЛ рд╡рд┐рдХрд╛рд╕-рдореЛрдб рдЕрднрд┐рдХрдерди (рдХрдард┐рди рддреНрд░реБрдЯрд┐) рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред рдкреНрд░реЛрдбрдХреНрд╢рди рдореЛрдб рдореЗрдВ, рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЛрдб рдЫреАрди рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреАред

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

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

Ember 2.10 Inactive

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

2.10 рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХреНрдпреЛрдВрдХрд┐ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА рдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ 3.0 рддрдХ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

FYI рдХрд░реЗрдВ, рд╣рдорд╛рд░реЗ рдРрдк рдореЗрдВ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рдереАрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рдордиреЗ рдХрд┐рд╕реА рдШрдЯрдХ рдХреЗ init рдореЗрдВ рдХрд┐рд╕реА рд╕реЗрд╡рд╛ рдХреЗ рдХреБрдЫ рдЧреБрдгреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрда рдкрд░ рдХреБрдЫ рдФрд░ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ред

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

@fivetanley рдпрд╣рд╛рдВ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрди рдореБрджреНрджреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @kriselden рдФрд░ @stefanpenner рдХреЗ рдкрд╛рд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЖрдкрдХреЛ рдЗрд╕ рдкрд░ рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢ рджреЗрдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХреЗрдВред

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

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

@joukevandermaas run.next() рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ,

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

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣рд╛рдВ рдХреБрдЫ рдФрд░ рдЬреНрдЮрд╛рди рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рд╣реИ... рдЕрдВрддрддрдГ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрд╡рд╕реНрде рдорд╛рд░реНрдЧ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг + рдЬреНрдЮрд╛рди рдЙрдкрд▓рдмреНрдз рд╣реЛ :)

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

рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рджреВрд╕рд░реЛрдВ рдХреЛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рдПрдореНрдмрд░ 2.10 рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдЬреБрдбрд╝реА рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ 3.0 рддрдХ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрд╣реАрдВ рднреА рд╕рд╛рдорд╛рдЬрд┐рдХ рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧреНрд▓рд┐рдорд░ 2 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛)ред

рд╣рд╛рдБ, рд╣рдореЗрдВ рдпрд╣рд╛рдБ рдХреБрдЫ рд╕рдВрджреЗрд╢/рд╡рд┐рд╡рд░рдг рд╕реБрдзрд╛рд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕реЗ 2.10 рд░рд┐рд▓реАрдЬ рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВред рдХреНрдпрд╛ 2.10 рд░рд┐рд▓реАрдЬ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

2.10 рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХреНрдпреЛрдВрдХрд┐ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА рдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ 3.0 рддрдХ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

рдореВрд▓ рд░реВрдк рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкреГрд╖реНрда рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕реЗрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдкреГрд╖реНрда рдкрд░ рдХрдИ рдХреНрд╡реЗрд░реА-рдкреИрд░рд╛ рдХреЗ рдорд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдореНрдмрд░ рдЧрдгрдирд╛ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдорд╛рдиреНрдп рдЗрдирдкреБрдЯ (рдЬреИрд╕реЗ рдЕрдХреНрд╖рд░ рдпрд╛ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ) рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рд╕реЗ рдХреНрд╡реЗрд░реА-рдкреИрд░рд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рдирд┐рдореНрди рдкреИрдЯрд░реНрди рд╣реИ:

 filteredModel: Ember.computed('model', /*list of individual query params*/, function(){
    let model = this.get('model').filterBy('pdf.pdf_path.url'); //removes all records that don't have a pdf uploaded
    this.get('queryParams').forEach((filter)=> { // for each possible filter
      if ((this.get(filter).length > 0)) { //if the filter has content...
        //guardian pattern to prevent invalid inputs
        let valid = new RegExp('^[A-Za-z0-9 _]*[A-Za-z0-9][A-Za-z0-9 _]*$');
        while (this.get(filter).length > 0 && !valid.test(this.get(filter))){
          this.set(filter, this.get(filter).slice(0,-1));
        }
        //block of code where the model gets filtered
        //...
        //...
    });
    return model;
  }),

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

рдЗрд╕рдиреЗ рд╣рдореЗрдВ рднреА рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░ рджрд┐рдпрд╛ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдРрдк 2.9 рдХреЗ рд╕рд╛рде рдЪрд▓ рд░рд╣рд╛ рдерд╛ рддрдм рд╣рдореЗрдВ рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдЬрдм рд╣рдо 2.10 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЛрдб рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрдЧрд╛ред рдХреНрдпрд╛ рдХрд┐рд╕реА рдФрд░ рдиреЗ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рджреЗрдЦрд╛ рд╣реИ?

@revanar рдореИрдВ рдпрд╣рд╛рдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рд╕реАрдкреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪреАрдЬреЗрдВ рд╣реИрдВ: рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдкреА рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХред рдореИрдВ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рднрд╛рдЧ рдХреЛ рдПрдХ рдЕрд╡рд▓реЛрдХрди рдпреЛрдЧреНрдп рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреВрдВрдЧрд╛ред рдпрд╛, рдпрджрд┐ рдпрд╣ рдПрдХ рдШрдЯрдХ рд╣реИ рдФрд░ рдЖрдк рдШрдЯрдХ рдореЗрдВ рдХреНрд╡реЗрд░реА рдкреИрд░рд╛рдо рдкрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореИрдВ рддрд░реНрдХ рдХреЛ didReceiveAttrs рд╣реБрдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреВрдВрдЧрд╛ред "рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рд░реАрд░реЗрдВрдбрд░" рддреНрд░реБрдЯрд┐ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реАрдкреА рд╕реЗ set рдСрдкрд░реЗрд╢рди рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред

рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рднреА рдХрдард┐рди рд╕рдордп рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдмрд╣реБрдд рд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рд╣рдо рдЗрд╕ рдмрд╣рд┐рд╖реНрдХрд░рдг рддреНрд░реБрдЯрд┐ рдХреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ рд╣реИрд░рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред

Assertion Failed: You modified transitioningIn twice on <app<strong i="6">@component</strong>:link-to::ember1159> in a single render.

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдлрд▓рддрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдПрдореНрдмрд░ рдЖрдВрддрд░рд┐рдХ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рд╣рдорд╛рд░реЗ рд╕реЗрд▓реЗрдирд┐рдпрдо рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рджреМрд░рд╛рди рдкреБрди: рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ (рд╕реЗрд▓реЗрдирд┐рдпрдо рдбреНрд░рд╛рдЗрд╡рд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рджреЗрд╡ рдЙрдкрдХрд░рдг рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ)ред рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕рд╛рдЗрди-рдЗрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ рдХрд┐рдП рдЧрдП рдХрдВрдЯреНрд░реЛрд▓рд░.transitionToRoute рдХреЙрд▓ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рд╣реИред

@chancancode рдиреЗ рдЗрд╕ https://github.com/emberjs/ember.js/blob/master/FEATURES.md рдкрд░ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИ

рд╣рдорд╛рд░реЗ рдПрдореНрдмрд░ 2.10 рдкреНрд░рд╡рд╛рд╕ рдХреЗ рд▓рд┐рдП рднреА, рдпрд╣ рдореБрдЦреНрдп рджрд░реНрдж рдмрд┐рдВрджреБ рд╣реИред рд╣рдо рдЗрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рднреА рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдПрдХрд▓/рд╕реНрдкрд╖реНрдЯ рд░рдгрдиреАрддрд┐ рдирд╣реАрдВ рд╣реИред рд╣рдордиреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ:

  1. Ember.run.next рдореЗрдВ рд░реИрдкрд┐рдВрдЧ рдХреЛрдб
  2. рдХрд┐рд╕реА рднреА setter рдХреЛрдб рдХреЛ computed properties рд╕реЗ рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдореЗрдВ, рдпрд╛ event handlers , рдЬрд╣рд╛рдВ рднреА рд╕рдВрднрд╡ рд╣реЛ, рд▓реЗ рдЬрд╛рдирд╛ред
  3. рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрди рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ

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

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

рдХреНрд░рд┐рд╕ рд╕реЗрд▓реНрдбрди рдХреЗ рдкрд╛рд╕ рдЗрдиреНрд╣реЗрдВ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧреА рдпреБрдХреНрддрд┐ рд╣реИ:

screen shot 2016-12-12 at 13 10 44

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЪрд░рдгреЛрдВ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд┐рдпрд╛ рд╣реИ: https://github.com/GavinJoyce/backtracking/pull/1#issuecomment -266427152

рдореИрдВ рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдЕрднрд┐рдХрдерди рд╕рдВрджреЗрд╢ рдХреЛ 2.10.2-with-improved-backtracking-assertion рдмрд┐рд▓реНрдб рдХрд╛рдЯрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпреЗ рдмреЗрд╣рддрд░ рд╕рдВрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

рдкрд╣рд▓реЗ:

рдЖрдкрдиреЗ рдПрдХ рд╣реА рд░реЗрдВрдбрд░ рдореЗрдВ message.message_goal.description рдХреЛ <(subclass of Ember.Model):ember3486> рдкрд░ рджреЛ рдмрд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдПрдореНрдмрд░ 1.x рдореЗрдВ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рдзреАрдорд╛ рдерд╛ рдФрд░ рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП https://github.com/emberjs/ember.js/issues/13948 рджреЗрдЦреЗрдВред

рдмрд╛рдж рдореЗрдВ:

рдЖрдкрдиреЗ рдПрдХ рд╣реА рд░реЗрдВрдбрд░ рдореЗрдВ message.message_goal.description рдХреЛ <(subclass of Ember.Model):ember3486> рдкрд░ рджреЛ рдмрд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕реЗ component:message-edit-expanding-container-component рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ component:rules/predicate-date-value-component рдореЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдПрдореНрдмрд░ 1.x рдореЗрдВ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рдзреАрдорд╛ рдерд╛ рдФрд░ рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП #13948 рджреЗрдЦреЗрдВред

рдЗрд╕рдХреЗ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдРрдк рдореЗрдВ рдЖрдЬрд╝рдорд╛рдпрд╛ред /cc @fivetanley , @bryanhickerson , @revanar , @phammers , @scottmessinger , @tharrington1 , @manimis902 , @jakesjews , @elwayman02ред рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдРрдк рдореЗрдВ рдХреЛрдИ рдЧреИрд░-рдЖрджрд░реНрд╢ рдЕрднрд┐рдХрдерди рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдореНрдмрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ bower.json рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:

{
  "name": "backtracking",
  "dependencies": {
    "ember": "intercom/ember#2.10.2-with-improved-backtracking-assertion",
    "ember-cli-shims": "0.1.3"
  },
  "resolutions": {
    "ember": "2.10.2-with-improved-backtracking-assertion"
  }
}

рдЖрдк рдпрд╣рд╛рдВ рдЗрд╕ рдмрд┐рд▓реНрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/GavinJoyce/backtracking/pull/10

рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА 1.11.0-рдХреИрдирд░реА рдмрд┐рд▓реНрдб рдХрд╛рдЯрд╛ рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реИ?

@rwjblue рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдПрдХ рдЯрд╛рдЗрдкреЛ рдерд╛ред рдЕрджреНрдпрддрди

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

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

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ рдореБрдЭреЗ рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА рд╣реИ: https://github.com/alexspeller/ember-cli-active-link-wrapper/issues/25

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

@bjornharrtell рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдореНрдмрд░-рдкреЗрдкрд░ рд╢рд╛рдЦрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

^ рд╣рдордиреЗ рдПрдореНрдмрд░-рдкреЗрдкрд░ рдореБрджреНрджреЛрдВ (https://github.com/miguelcobain/ember-paper/pull/590) рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рд▓рд┐рдпрд╛ред рдпрд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐:

  • рдирдП рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╡рд░реНрддрдорд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рдереЗ
  • рд╡реЗ рдкрд░рд┐рдкреВрд░реНрдг рдирд╣реАрдВ рдереЗ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЙрдкрдЬ рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓рддреЗ рдереЗред (рдШрдЯрдХ рдЬрд┐рд╕рдореЗрдВ {{yield}} рдерд╛, рдХреЛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдЙрдкрдпреЛрдЧреА рдерд╛, рд▓реЗрдХрд┐рди рдЙрддрдирд╛ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рдерд╛ рдЬрд┐рддрдирд╛ рд╢рд╛рдпрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)

рдпрд╣ рдПрдбрдСрди рдХреЗ рд╕рд╛рде рдмрдЧ рд╣реЛ рднреА рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдирд╣реАрдВ рднреА, рд▓реЗрдХрд┐рди рдореБрдЭреЗ https://github.com/DockYard/ember-one-way-controls/issues/136 рдореЗрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛

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

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

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

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

@ tundal45 рдХреНрдпрд╛ рдЖрдк рдПрдХ рдЯреНрд╡рд┐рдбрд▓ рдпрд╛ рдирдореВрдирд╛ рдРрдк рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬреЛ рдорд╛рдирддреЗ рд╣реИрдВ рд╡рд╣ рдЧрд▓рдд рддреНрд░реБрдЯрд┐ рд╣реИ?

@ Blackening999 @ tundal45 рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдЫреЛрдЯрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@chancancode @ Blackening999 рдореИрдВ рдЬрд▓реНрдж рд╣реА рдпрд╣рд╛рдВ рдПрдХ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

@chancancode https://ember-twiddle.com/936d549b5625b0cf4f3c945d0ed04d3b?openFiles=components.button-with-state.js рдЯреНрд╡рд┐рдбрд▓ рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдмрд╛рдд рд╣реЛ рд╕рдХрддреА рд╣реИ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рдХрдИ рдЧрдгрдирд╛ рдЧреБрдгреЛрдВ рдкрд░ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг Ember.computed.or ред рдЪреВрдБрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ @manimis902 рдХрд╛ рдХреЛрдИ рднреА рд╕реБрдЭрд╛рд╡ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

рдЬреИрд╕рд╛ рдХрд┐ @ рдерд╛рд░рд┐рдВрдЧрдЯрди 1 рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ @chancancode рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдЬ рдХрд╣рд╛рдБ рд╣реИ?

@cbou рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЭрдВрдбрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ

рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рдерд╛ рдХрд┐ рдЗрди рдмрд╣рд┐рд╖реНрдХрд░рдг рдиреЛрдЯрд┐рд╕реЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИ, рди рд╣реА рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдлрд┐рдХреНрд╕ рд╡реИрдз рдерд╛/рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ init() рдШрдЯрдХ рд╣реБрдХ рдореЗрдВ рдПрдХ AJAX рдЕрдиреБрд░реЛрдз рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрд┐рд╕рдиреЗ рдПрдХ рдЕрд▓рдЧ рдореВрд▓реНрдп рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ service рдХреА рд╕рдВрдкрддреНрддрд┐ (рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░ рдЯреНрд░реИрдХ/рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП)ред

рдореИрдВрдиреЗ рдЕрдкрдиреЗ AJAX рдЕрдиреБрд░реЛрдз рдХреЛрдб рдХреЛ init() рдШрдЯрдХ рд╣реБрдХ рд╕реЗ didRender() рдШрдЯрдХ рд╣реБрдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдмрд╣рд┐рд╖реНрдХрд░рдг рдиреЛрдЯрд┐рд╕ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред

@ lvl99 рдореИрдВрдиреЗ рд╡рд╣реА рдХрд┐рдпрд╛ред

рд╣рдо рдЕрдкрдиреЗ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ 2.3 рд╕реЗ рдПрдореНрдмрд░ 2.12 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рддреНрдпрд╛рдкрди рдРрдб-рдСрди рдФрд░ рдПрдХ рдЕрд▓рдЧ рдлреЙрд░реНрдо рдШрдЯрдХ рдРрдб-рдСрди рд╣реИред рд╕рддреНрдпрд╛рдкрди рдРрдб-рдСрди рд╕рддреНрдпрд╛рдкрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Ember.components рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлреЙрд░реНрдо рдШрдЯрдХ рдРрдб-рдСрди рдПрдХ рд╕рд╣рд╛рдпрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рддреНрдпрд╛рдкрди рдРрдб-рдСрди рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдРрдб-рдСрди рд╕реНрд░реЛрдд рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИрдВ; рдЗрд╕рд▓рд┐рдП рд╣рдо рдЬрд┐рд╕ рдорд╛рдорд▓реЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯреНрд╡реАрдбрд▓ рдмрдирд╛рдпрд╛ рд╣реИред

рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЛ рдШрдЯрдХ рд╣реИрдВ ( person-detail рдФрд░ address-detail ) рдЬреЛ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рд╕рддреНрдпрд╛рдкрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред address-detail рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рд╕рддреНрдпрд╛рдкрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ errors рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рднреАрддрд░ рдлреЗрдВрдХреА рдЧрдИ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдШрдЯрдХ ( person-detail ) рдореЗрдВ рдХреИрд╕реНрдХреЗрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рд╣рд╛рдпрдХ error-formatter рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ error-displayer рдШрдЯрдХ рдХреЗ рднреАрддрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕рд╛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рддрдерд╛рдкрд┐; рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ: DEPRECATION: The рддреНрд░реБрдЯрд┐ property ofis an Ember.Binding connected to Validatable.errors.name , but Ember.Binding is deprecated. Consider using an рдЙрдкрдирд╛рдо computed property instead. [deprecation id: ember-metal.binding] See http://emberjs.com/deprecations/v2.x#toc_ember-binding for more details. рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП; рдХреГрдкрдпрд╛ рд╣реЗрд▓реНрдкрд░ error-formatter рдФрд░ рд▓рд╛рдЗрди рдирдВрдмрд░ 9 рдФрд░ рдЕрд╕рдВрдмрджреНрдз рд▓рд╛рдЗрди рдирдВрдмрд░ 8 рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рдо рдЪреЗрддрд╛рд╡рдиреА рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдореЗрдВ рд╕реБрдЭрд╛рдП рдЧрдП рдЕрдиреБрд╕рд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЕрдм рд╣рдо рдХреБрдЦреНрдпрд╛рдд Assertion Failed: You modified "error" twice on <Ember.Object:ember338> in a single render. It was rendered in "component:error-displayer" and modified in "component:error-displayer". This was unreliable and slow in Ember 1.x and is no longer supported. See https://github.com/emberjs/ember.js/issues/13948 for more details. рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдпрд╣ рддреНрд░реБрдЯрд┐ рдХреНрдпреЛрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ; рдХреНрдпреЛрдВрдХрд┐ address-detail s errors рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рднреАрддрд░ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк errors рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ person-detail рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрди рд░рд╣реА рд╣реИред . рдпрд╣рд╛рдБ рд╣рдо рдХреНрдпрд╛ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ:

  1. Ember.Binding рдмрдирд╛рдо Ember.computed.alias рдкреБрди: рдЧрдгрдирд╛ (рдкреБрдирдГ рдкреНрд░рддрд┐рдкрд╛рджрди) рдЪрд░рдг рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдлреА рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рдХреАрдХрдд рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ? рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдирд╛ рдХреЛрдб рддреЛрдбрд╝рдирд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ; рдХрдо рд╕реЗ рдХрдо рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдПред
  2. рдПрдХ рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рднреАрддрд░ рд╕реЗ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рдЕрдЧрд░ рд╣рд╛рдБ; рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрдЭрд╛рд╡ рдХреНрдпрд╛ рд╣реИрдВ?
  3. рд╣рдо Ember.run.scheduleOnce('afterRender', ...) рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рд╕рд╛рде рд░реИрдкрд┐рдВрдЧ рдПрдХреНрд╢рди рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдпрд╣ рдЬрд╛рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ?
  4. рдЖрдЦрд┐рд░рдХрд╛рд░; рдХреГрдкрдпрд╛ рдЕрдм рдмреНрд░реЗрдХрд┐рдВрдЧ рдХреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рдХрд┐рд╕реА рднреА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреБрдЫ рдЯрд╛рдЗрдк рдХрд░реЗрдВ; рдФрд░ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдШрдЯрдХреЛрдВ рдХреЛ рдХрдИ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рд╣рдореЗрдВ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

рдбреАрдмрдЧ рдмрд┐рд▓реНрдб рдкрд░ рдЗрд╕ рджрд╛рд╡реЗ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдпрд╛ рджрдмрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдордиреЗ рд░рд┐рдлреИрдХреНрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди 1 рдпрд╛ 2 рдРрд╕реЗ рд╣реИрдВ рдЬреЛ рдЬрд┐рджреНрджреА рд╣реИрдВред рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рдирд╖реНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдлрд┐рд░ рд╕рдВрдХреНрд░рдордг рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдирд╖реНрдЯ рдХреА рдЧрдИ рд╡рд╕реНрддреБ (рд╣рдорд╛рд░реЗ рдПрдкреАрдЖрдИ рдкрд░) рдХрдИ рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрддрд╛рд░рдиреЗ/рдирд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╢рд░ рд╕реВрдЪрдирд╛ рднреЗрдЬрддреА рд╣реИред

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

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

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

@feanor07 Ember.run.scheduleOnce... рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╕рдВрдкрддреНрддрд┐ set рдХреЗрд╡рд▓ рдПрдХ Ember.run.schedule("afterRender", () => { ... }); рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрдИ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЬреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдПрдХ рдХреЗ рдмрд╛рдж рдХреИрд╕реНрдХреЗрдб рд╣реЛ рдЧрдПред

@neilthawani рдЬреЛ рддреНрд░реБрдЯрд┐ рдЫреБрдкрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рдЖрдк рджреЛ рдмрд╛рд░ рдПрдХ рдорд╛рди рд╕реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрдм рдЖрдкрдХреЛ рд╢рд╛рдпрдж рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЗрдВ рд╕реЗ рдПрдХ рдбрд╛рд▓ рдХрд░рдХреЗ set рдореЗрдВ schedule , рддреЛ рдЖрдк рд╕рд┐рд░реНрдл рджреВрд╕рд░реЗ рд╕реЗрдЯ рдореЗрдВ рджреЗрд░реА рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрд▓рдЧ runloop рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдЖрдкрдиреЗ рджреЛ рдмрд╛рд░ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдмрд╕ рдПрдореНрдмрд░ рдХреЛ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдереА рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рд░реЗрдВрдбрд░ рдЕрд▓рдЧ рд░рдирд▓реВрдк рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВред

@ elwayman02 рдЙрд╣ рдУрд╣ред рдзрдиреНрдпрд╡рд╛рджред рдореВрд▓ рд░реВрдк рд╕реЗ рдмрд┐рдВрджреБ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЬрд┐рддрдирд╛ рд╕рд╣рдЬ рдерд╛, рдЙрд╕рд╕реЗ рдХреБрдЫ рдЕрдзрд┐рдХ afterRenders рдбрд╛рд▓рд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдПрдХ click рд╣реИрдВрдбрд▓рд░ рд╣реИ рдЬреЛ рдЯреВрд▓рдЯрд┐рдк рдХреЛ рдЯреЙрдЧрд▓ рдХрд░рддрд╛ рд╣реИред isDisplaying рдзреНрд╡рдЬ рдХреЛ Ember.run.schedule("afterRender", () => { ... }); рднреАрддрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрджреНрджреЗ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реА, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдбреЗрдЯрд╛ рдЬреИрд╕реЗ рдШрдЯрдХ рдФрд░ рдЯреВрд▓рдЯрд┐рдк рдШрдЯрдХ рджреЛрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдерд╛ред

рдЯреАрдПрд▓; рдбреЙ: рдореИрдВрдиреЗ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд░рдЦрд╛ (рдПрдХ рдмрд╛рд░ Maximum call stack size exceeded рддреНрд░реБрдЯрд┐ рднреА рдорд┐рд▓реА), рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рддрдХ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рдерд╛ рдЬрдм рддрдХ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рди рд╣реЛ рдЬрд╛рдПред

рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдкреАрдПрд╕рдП рдЕрднреА рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд░рд╣рд╛ рд╣реИ: рдКрдкрд░ @GavinJoyce рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдмреЗрд╣рддрд░ "рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рд░реА-рд░реЗрдВрдбрд░" рджрд╛рд╡рд╛ рддреНрд░реБрдЯрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдореНрдмрд░ 2.11 рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣ рднреА рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЗрд░реЗ рдмреИрдХ-рдПрдВрдб рдкрд░, рдореИрдВ JSON API рдХреЗ рд╕рд╛рде .Net Core рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдиреЗрдЯ рдХреЛрд░ (https://github.com/Research-Institute/json-api-dotnet-core) - рдЙрдирдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдПред

рдпреВрдЖрдИ рд░реЗрдВрдбрд░ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдбреЗрдЯрд╛ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдореИрдВ рд╡рд╛рдВрдЫрд┐рдд рдорд╛рди рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВред

    // Profile Model:
    import DS from 'ember-data';
    export default DS.Model.extend({
        'firstName': DS.attr(),
        'lastName': DS.attr(),
        'applicationUser': DS.attr(),
        'contactProfile': DS.belongsTo('address', {
            async: true
        }),
        'companyProfile': DS.belongsTo('address'),
        'companyMailingAddress': DS.belongsTo('address'),
        "companyPhysicalAddress": DS.belongsTo('address')
    });

    // Address Model:
    import DS from 'ember-data';
    export default DS.Model.extend({
        'address1': DS.attr(),
        'address2': DS.attr(),
        'city': DS.attr(),
        'state': DS.attr(),
        'zipCode': DS.attr(),
        'country': DS.attr(),
        'website': DS.attr(),
        'phoneNumber1': DS.attr(),
        'phoneExtension1': DS.attr(),
        'phoneNumber2': DS.attr(),
        'phoneExtension2': DS.attr(),
        'email': DS.attr(),
    });
    // Adapter settings
    import DS from 'ember-data';

    export default DS.JSONAPIAdapter.extend({
        namespace: 'api/json',
    });
    DS.JSONAPISerializer.reopen({
        keyForAttribute(key) {
            return key;
        },
        keyForRelationship(key) {
            return key;
        }
    });
    // Route
    import Ember from 'ember';

    export default Ember.Route.extend({
        model() {
            return Ember.RSVP.hash({
                profile: this.store.findRecord('profile', 1)
            });
        }
    });

    // Template
   {{model.profile.contactProfile.address1}}

рдФрд░ рдореБрдЭреЗ рдЬреЛ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:
рджрд╛рд╡рд╛ рд╡рд┐рдлрд▓: рдЖрдкрдиреЗ "model.profile.contactProfile" рдХреЛ рджреЛ рдмрд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛@model:profile::ember543:1> рд╕рд┐рдВрдЧрд▓ рд░реЗрдВрдбрд░ рдореЗрдВред рдпрд╣ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ " рдЯреЗрдореНрдкрд▓реЗрдЯ: рдИрдВрдзрди-рдПрдВрдмрд░ / рдЖрдВрддрд░рд┐рдХ / рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ / template.hbs " рдФрд░ рдореЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд " рдЯреЗрдореНрдкрд▓реЗрдЯ: рдИрдВрдзрди-рдПрдВрдмрд░ / рдЖрдВрддрд░рд┐рдХ / рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ / template.hbs "ред рдпрд╣ рдПрдореНрдмрд░ 1.x рдореЗрдВ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рдзреАрдорд╛ рдерд╛ рдФрд░ рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП https://github.com/emberjs/ember.js/issues/13948 рджреЗрдЦреЗрдВред

рдкреАрдПрд╕: рдореИрдВрдиреЗ рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Ember.computed рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ?

рдЕрдкрдбреЗрдЯ: рдореИрдВрдиреЗ рдпрд╣ рднреА рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдПрдХ {{#each}} рд╣реЗрд▓реНрдкрд░ рдХреЗ рдЕрдВрджрд░ рдареАрдХ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реАрдзреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкрд░ рдирд╣реАрдВред

@lbarsukov
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ https://github.com/emberjs/data/issues/5023 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ, рдЬрд╣рд╛рдВ links рдкреНрд░реЙрдкрд░реНрдЯреА рд╕реЗрдЯ рд╡рд╛рд▓реЗ рдЖрдкрдХреЗ jsonapi рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рдХрд╛рд░рдг рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рд░реА-рд░реЗрдВрдбрд░ рд╣реЛрддрд╛ рд╣реИред

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдореБрджреНрджрд╛ рдерд╛, рдЬреЛ рдПрдореНрдмрд░ рдбреЗрдЯрд╛ 2.13.2 рдХреЗ рдмрд╛рдж рд╢реБрд░реВ рд╣реБрдЖред рдПрдореНрдмрд░-рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ: 2.13.2 рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИред

@ рдбреИрдирд┐рдпрд▓-рдбреА-рд╡рд┐рдЯ рдпрд╣рд╛рдВ рдорд╛рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЕрдВрдЧреВрдареЗ - рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЕрдм рд╡рд╣реА рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕рд╕реЗ рдЦреБрд╢ рд╣реВрдВред

@ lbarsukov @ daniel-de-wit рд╣рдордиреЗ рдПрдореНрдмрд░ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ

@lbarsukov рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЖрдкрдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рд╣реИред рд╡рд╣рд╛рдБ рдПрдХ рдЕрдЪреНрдЫрд╛ рдореМрдХрд╛ рд╣реИ рдПрдХ (рдпрд╛ рдХреБрдЫ) рдХреА рд╣реИ belongsTo рдПрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП hasMany ред

рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдореЙрдбрд▓ рд╣реИрдВ, рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░ред рдпрджрд┐ рдЖрдк рдкреНрд░рд╢реНрди рдХреЗ 10 рдЙрддреНрддрд░ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╢реНрди рдХреНрд░рдорд╛рдВрдХ рдЙрд╕рдХреЗ рдЙрддреНрддрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╕рдВрдмрдВрдз рдХреЛ рдареАрдХ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _рд╣реИ_рд╣реИрдВред

// Question Model:
    export default DS.Model.extend({
        'answers': DS.hasMany('answers'), // if you never reference question.answers you can omit this
        ...
    });

// Answer Model:
    export default DS.Model.extend({
        'question': DS.belongsTo('question'),
        ...
    });

рдЬрдм рдбреЗрдЯрд╛ рдХрдИ рдкреНрд░рд╢реНрди/рдЙрддреНрддрд░ рдЬреЛрдбрд╝реЗ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ 1-1 рд╕рдВрдмрдВрдз рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╢реНрди рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдореЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреЛрд╕реНрдЯ рд╕реЗ, рдХреБрдЫ рд╣реБрдХ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЪрд░рдо рдЙрджрд╛рд╣рд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред init рдХреЗ рдЕрд▓рд╛рд╡рд╛, didInitAttrs, didReceiveAttrs, willInsertElement рдФрд░ willRender рднреА рд░реЗрдВрдбрд░рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╕рдордХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдЕрдХреНрд╕рд░ рджреЛ-рддрд░рдлрд╛ рдмрд╛рдзреНрдп рдЧреБрдгреЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдХреНрдпреЛрдВ didInsertElement рдФрд░ didRender рд╣реБрдХ рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╣реБрдХ twice render рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ?

@BenjaminHorn @ Blackening999 @Dhaulagiri @DingoEatingFuzz @ Gaurav0 @GavinJoyce @Redsandro @TRMW @ Turbo87 @aklkv @alidcastano @backspace @bdiz @bgentry @bjornharrtell @bryanhickerson @buschtoens @caseklim @cbou @chancancode @danaoira @ рдбреИрдирд┐рдпрд▓-de-рдмреБрджреНрдзрд┐ @fivetanley @fotinakis @gabrielgrant @ghost @jakesjews @janmisek @joukevandermaas рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИ, рд╢рд╛рдпрдж рд╣рдо рдХрд░реАрдм рд╣реИ, рддреБрдореНрд╣реЗрдВ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдЪрд╛рд╣рд┐рдП?

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдРрдк рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд┐рд╕реА рднреА рдЙрджрд╛рд╣рд░рдг рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИред

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

рд╣рд╛рдБ, рдХреГрдкрдпрд╛ рдмрдВрдж рдХрд░реЗрдВ

рдПрдХ рдпреБрдЧ рдХрд╛ рдЕрдВрдд

рдореИрдВ

рдПрдХ рдкреБрд░рд╛рдирд╛ рдореБрджреНрджрд╛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд╣реЛ рдореИрдВ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

{{this.myBool}}

рдФрд░ рддреНрд░реБрдЯрд┐ Error: Assertion Failed: You modified "myBool" twice

рдореИрдВ рдЗрд╕реЗ рдмрджрд▓рдХрд░ рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:

{{if this.myBool true false}}

рдЗрд╕реА рддрд░рд╣, рдпрджрд┐ рдХреЛрдИ рд╡рд░реНрдЧ рдирд╛рдо рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ

рдореИрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ:

classNameBindings: ['myBool']

рдкреНрд░рддрд┐

classNameBindings: ['myBool:yes:no']

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

рдореИрдВ рдЬрд┐рд╕ рдбреЗрдореЛ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рд╡рд╣ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

https://ember-twiddle.com/db7f6e382bd0b1de91447881eebb62a5?openFiles=templates.components.my-component.hbs%2C

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

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

рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдбреЗрдореЛ рдЯреНрд╡рд┐рдбрд▓ рдореЗрдВ, рдЬрд╣рд╛рдБ рддрдХ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ рд╡рд╣рд╛рдБ рдХреЛрдИ set рдирд╣реАрдВ рд╣реИред

_рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ_ рдпрд╣ рдЧрд▓рдд рдирд┐рдХрд▓рд╛, рдореЗрд░реЗ рдХрд╣рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ _рдмрд╛рдж рдХреЗ рднрд╛рдЧ рд╕реЗ рдХреЛрдИ set рдЖ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣реИ

рд╣рдореНрдо, рдореБрдЭреЗ рдЯреНрд╡рд┐рдбрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ, рдореБрдЭреЗ рдХреНрд▓рд┐рдХреЛрдВ рдХрд╛ рдХреНрд░рдо рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдУрдкрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдХреНрд▓реЛрдЬ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдЙрдкрдЬ рд╡рд╛рд▓реЗ рдмрдЪреНрдЪреЗ рдХреЗ рдШрдЯрдХ рдХрд╛ рдмрдВрдж рдмрдЯрди, рдорд╛рддрд╛-рдкрд┐рддрд╛ рдирд╣реАрдВред

рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЯрд┐рдпрд░рдбрд╛рдЙрди рдХреЗ рджреМрд░рд╛рди, рдШрдЯрдХ рдкрд░ focusOut рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐ рдкрд░ set рдкрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ 100% рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдШрдЯрдХ рдлреЛрдХрд╕ рдФрд░ рдЯрд╛рдЗрдорд┐рдВрдЧ рд╕реЗрдореЗрдиреНрдЯрд┐рдХреНрд╕ рдЦреЛ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЬрд┐рди рд╡рд┐рд╡рд┐рдзрддрд╛рдУрдВ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рд╡реЗ рдЯреНрд░реИрдХрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рддреА рд╣реИрдВ рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рдореБрдЦреМрдЯрд╛ рдмрдирд╛рддреА рд╣реИрдВред рдЖрдЗрдП рдЗрд╕реЗ рдПрдХ рдирдП рдЕрдВрдХ рдореЗрдВ рдЯреНрд░реИрдХ рдХрд░реЗрдВ? рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╡реИрдз рдореБрджреНрджрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд▓рд┐рдП рд╡рд╣рд╛рдВ рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред

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

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

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

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

SaladFork picture SaladFork  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

csprocket777 picture csprocket777  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ