Vue.js рдХреЗ рд▓рд┐рдП рдХрд╛рд▓рд╛ рджрд┐рди


рдЖрдЬ рдореИрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЪрдХрд┐рдд рдерд╛ рдХрд┐ рдЖрдорддреМрд░ рдкрд░ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдФрд░ рдорд┐рддреНрд░рд╡рдд V..s рд╕рдореБрджрд╛рдп рджреБрдГрдЦрдж рдЯрдХрд░рд╛рд╡ рдореЗрдВ рдХреИрд╕реЗ рдлрд┐рд╕рд▓ рдЬрд╛рддрд╛ рд╣реИред рджреЛ рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ, Vue рдирд┐рд░реНрдорд╛рддрд╛ рдЗрд╡рд╛рди рдпреВ рдиреЗ рдЖрдЧрд╛рдореА Vue 3.0 рдореЗрдВ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ (RFC) рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ред рдЖрдЬ, Reddit рдкрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪрд░реНрдЪрд╛ рдФрд░ рд╣реИрдХрд░ рдиреНрдпреВрдЬрд╝ рдкрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдЯрд┐рдкреНрдкрдгреА рдиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдореВрд▓ рдЖрд░рдПрдлрд╕реА рдореЗрдВ рдЖрдХреНрд░реЛрд╢ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ рд╣реИ, рдХрднреА-рдХрднреА рдмрд╣реБрдд рдХрдареЛрд░ рднреАред


рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ:


  • рд╕рднреА Vue рдХреЛрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдП рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореМрдЬреВрджрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
  • рд╣рд░ рд╕рдордп рдЬреЛ рд▓реЛрдЧ Vue рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рдереЗ, рд╡реЗ рд╡реНрдпрд░реНрде рд╣реЛ рдЧрдП, рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛
  • рдирдпрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкреБрд░рд╛рдиреЗ рд╕реЗ рднреА рдмрджрддрд░ рдирд┐рдХрд▓рд╛, рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕рдВрд░рдЪрдирд╛ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╕реНрдкреЗрдЧреЗрдЯреА рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ
  • рдХрд┐рд╕реА рдХреА рд╕рд▓рд╛рд╣ рдХреЗ рдмрд┐рдирд╛ Vue рдЯреАрдо рдиреЗ рдПрдХ рдмрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛
  • Vue рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ!
  • рдпрд╛ рдирд╣реАрдВ, AngularJS / Angular рдореЗрдВ!
  • рдЕрдм рд╕рднреА HTML рдХреЛ рдПрдХ рдмрдбрд╝реА рд▓рд╛рдЗрди рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛!

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


рдореИрдВ рд╡рд╣ рд╡реНрдпрдХреНрддрд┐ рдерд╛ рдЬрд┐рд╕рдиреЗ рдпрд╣ рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреА рдереАред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореБрдЭреЗ рдирдП RFC рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕реВрдЪрдирд╛ рдорд┐рд▓реА, рддреБрд░рдВрдд рдЗрд╕реЗ рдкрдврд╝рд╛ рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВ Vue 3.0 рд╕реЗ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ рдФрд░ RFC рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рдмрд╛рдж 15 рдорд┐рдирдЯ рдХреЗ рднреАрддрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦрдХрд░ рдЕрдкрдирд╛ рдЖрднрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░реВрдВрдЧрд╛ред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВ рдореИрдВ рдирдП рдПрдкреАрдЖрдИ рдХреЛ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдорд╛рдирддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдЖрд▓реЛрдЪрдХреЛрдВ рдХреЗ рдмрдпрд╛рдиреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред


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


  • рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдХреБрдЫ рднреА рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рди рдХрд░реЗрдВ - рдирдпрд╛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдПрдХ рдкреВрд░рдХ рд╣реИ, рдЬрдмрдХрд┐ рдкреБрд░рд╛рдирд╛ рд╣рдорд╛рд░реЗ рд╕рд╛рде Vue 3.0 рдореЗрдВ рддрдм рддрдХ рд░рд╣реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдпрд╣ рдЕрдВрддрддрдГ рдореБрдЦреНрдп рдХреЛрдб рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
  • Vue рд╕реАрдЦрдиреЗ рдХрд╛ рд╕рдордп рд╡реНрдпрд░реНрде рдирд╣реАрдВ рдЧрдпрд╛ - рдирдпрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХрд▓-рдлрд╝рд╛рдЗрд▓ рдШрдЯрдХреЛрдВ, рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд╢реИрд▓рд┐рдпреЛрдВ рдЬреИрд╕реА рдкрд░рд┐рдЪрд┐рдд рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВред
  • рдкрд░рд┐рд╡рд░реНрддрди рдЪрд░реНрдЪрд╛ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдпрд╣ RFC рдЪрд░реНрдЪрд╛ рд╣реИред рдирдпрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЕрднреА рднреА рдЕрдВрддрд┐рдо рд░рд┐рд▓реАрдЬрд╝ рд╕реЗ рджреВрд░ рд╣реИред
  • рдФрд░ рдирд╣реАрдВ, HTML рдХреЛ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рддрд░рд╣ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

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


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


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


рдШрдЯрдХ рдЙрдкрд╕реНрдерд┐рддрд┐


рдЖрдк рдпрд╣рд╛рдВ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрд╡ рдбреЗрдореЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ Vue 2.x рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ (рдлрд╝рд╛рдЗрд▓ рдШрдЯрдХ / Vue2.nue)ред


рдЗрд╕ рдШрдЯрдХ рдХреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрд╛рдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:


data() { return { petName: "", petColor: "#000", petSize: "" }; }, computed: { header: function() { if (this.petName) { return "My Pet " + this.petName; } return "Enter Pet Details"; }, petColorDarker: function() { return tinycolor(this.petColor) .darken() .toString(); }, shadow: function() { return "2px 2px " + this.petColorDarker; }, borderStyle: function() { switch (this.petSize) { case "Small": return "dotted"; case "Medium": return "dashed"; default: return "solid"; } }, headerSize: function() { switch (this.petSize) { case "Small": return "12px"; case "Large": return "60px"; default: return "30px"; } } } 

рдореВрд▓ рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рдбреЗрдЯрд╛ рд╕реЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЧреБрдг рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ Vue 2.x рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдЪреАрдЬреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдо рдПрдХ рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП petColorDarker рдмрдЧрд▓ рдореЗрдВ рдПрдХ petColor рдирд╣реАрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ Vue 2.x рдореЗрдВ рд╡реЗ рдкреНрд░рдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣реАрдХреГрдд рд╣реИрдВред


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


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


  setup() { // Pet name const petName = value(""); const header = computed(() => { if (petName.value) { return "My Pet " + petName.value; } return "Enter Pet Details"; }); // Pet color const petColor = value("#000"); const petColorDarker = computed(() => { return tinycolor(petColor.value) .darken() .toString(); }); const shadow = computed(() => "2px 2px " + petColorDarker.value); // Pet size const petSize = value(""); const borderStyle = computed(() => { switch (petSize.value) { case "Small": return "dotted"; case "Medium": return "dashed"; default: return "solid"; } }); const headerSize = computed(() => { switch (petSize.value) { case "Small": return "12px"; case "Large": return "60px"; default: return "30px"; } }); // All properties we can bind to in our template return { petName, header, petColor, shadow, petSize, borderStyle, headerSize }; } 

рдзреНрдпрд╛рди рджреЗрдВ:


  • рдпрд╣ рд╕рдореВрд╣ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рд╕рд░рд▓ рд╣реИред
  • рд╕реЗрдЯрдЕрдк рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░рд┐рдЯрд░реНрди рдореВрд▓реНрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╣рдо рддреБрд░рдВрдд рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдХреНрдпрд╛ рдкрд╣реБрдВрдЪ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирдпрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкреВрд░реНрдг рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ Vue 2.x рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдерд╛ред рдФрд░ рд╣рдо рдЕрдкрдиреЗ рддрд░реНрдХ рдХреЛ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:


 function usePetName() { const petName = value(""); const header = computed(() => { if (petName.value) { return "My Pet " + petName.value; } return "Enter Pet Details"; }); return { petName, header }; } function usePetColor() { const petColor = value("#000"); const petColorDarker = computed(() => { return tinycolor(petColor.value) .darken() .toString(); }); return { petColor, petColorDarker }; } function petSizeToBorderStyle(sizeWrapper) { const borderStyle = computed(() => { switch (sizeWrapper.value) { case "Small": return "dotted"; case "Medium": return "dashed"; default: return "solid"; } }); return { borderStyle }; } function petSizeToHeaderSize(petSizeWrapper) { const headerSize = computed(() => { switch (petSizeWrapper.value) { case "Small": return "12px"; case "Large": return "60px"; default: return "30px"; } }); return { headerSize }; } export default { setup() { const { petName, header } = usePetName(); const { petColor, petColorDarker } = usePetColor(); const shadow = computed(() => "2px 2px " + petColorDarker.value); const petSize = value(""); const { borderStyle } = petSizeToBorderStyle(petSize); const { headerSize } = petSizeToHeaderSize(petSize); return { petName, header, petColor, shadow, petSize, borderStyle, headerSize }; } }; 

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


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


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

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


All Articles