Vue рдХреЗ рд░реЗрдВрдбрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг: рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлрд┐рдХ рдЧреНрд░рд┐рдб рдмрдирд╛рдирд╛

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


Vue рд░реЗрдВрдбрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕


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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ HTML рдорд╛рд░реНрдХрдЕрдк рд╣реИ:

<div class="container">   <p class="my-awesome-class">Some cool text</p> </div> 

рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрди рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 render(createElement) {  return createElement("div", { class: "container" }, [    createElement("p", { class: "my-awesome-class" }, "Some cool text")  ]) } 

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

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрдбрд╝реЛрд╕реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреИрдм рдореЗрдВ рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдбреЗрдореЛ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЦреЛрд▓рдиреЗ рдФрд░ рд▓реЗрдЦ рдкрдврд╝рддреЗ рд╣реБрдП рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред

рдПрдХ рдбрд┐рдЬрд╛рдЗрди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдорд╛рдирджрдВрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ VuePress рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреНрд░рдгрд╛рд▓реА рд╣реИред рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдПрдХ рдирдпрд╛ рдкреГрд╖реНрда рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЬрд┐рд╕рдореЗрдВ рдкрд╛рда рдбрд┐рдЬрд╛рдЗрди рдХреА рд╡рд┐рднрд┐рдиреНрди рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рдЬрд╛рдЗрдирд░ рдиреЗ рдореБрдЭреЗ рдЬреЛ рд▓реЗрдЖрдЙрдЯ рджрд┐рдпрд╛, рд╡рд╣ рдХреИрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред


рдкреЗрдЬ рд▓реЗрдЖрдЙрдЯ

рдФрд░ рдпрд╣рд╛рдВ рдЗрд╕ рдкреГрд╖реНрда рдХреЗ рдЕрдиреБрд░реВрдк рд╕реАрдПрд╕рдПрд╕ рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 h1, h2, h3, h4, h5, h6 {  font-family: "balboa", sans-serif;  font-weight: 300;  margin: 0; } h4 {  font-size: calc(1rem - 2px); } .body-text {  font-family: "proxima-nova", sans-serif; } .body-text--lg {  font-size: calc(1rem + 4px); } .body-text--md {  font-size: 1rem; } .body-text--bold {  font-weight: 700; } .body-text--semibold {  font-weight: 600; } 

рдЯреИрдЧ рдирд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣реЗрдбрд░ рдлреЙрд░реНрдореЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд░реНрдЧ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдореГрджреНрдзрд┐ рдФрд░ рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдЧ рд╣реИрдВред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВрдиреЗ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдореИрдВрдиреЗ рдХреБрдЫ рдирд┐рдпрдо рдмрдирд╛рдП:

  • рдЪреВрдВрдХрд┐ рдЗрд╕ рдкреГрд╖реНрда рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдбреЗрдЯрд╛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рд╢реАрд░реНрд╖рдХреЛрдВ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд┐рдореЗрдВрдЯрд┐рдХ рд╣реЗрдбрд░ рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЕрд░реНрдерд╛рдд <h1> , <h2> рдФрд░ рдЗрд╕реА рддрд░рд╣), рдЙрдирдХрд╛ рд╕реНрд╡рд░реВрдкрдг рд╡рд░реНрдЧ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рдкреИрд░рд╛ рдЯреИрдЧ ( <p> ) рд╡рд░реНрдЧ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, <p class="body-text--lg"> ) рдкреГрд╖реНрда рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рд╡рд┐рднрд┐рдиреНрди рддрддреНрд╡реЛрдВ рд╕реЗ рдпреБрдХреНрдд рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рд░реВрдЯ <p> рдореЗрдВ рд▓рдкреЗрдЯрдХрд░ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрдпреБрдХреНрдд рд░реВрдЯ рддрддреНрд╡ рдореЗрдВ рд╕рдореВрд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╢реИрд▓реАрдХрд░рдг рд╡рд░реНрдЧ рдЕрд╕рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмрд╛рд▓ рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХ <span> рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рд╡рд░реНрдЧ рдирд╛рдо рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕ рдирд┐рдпрдо рдХреА рддрд░рд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ:

     <p>  <span class="body-text--lg">Thing 1</span>  <span class="body-text--lg">Thing 2</span> </p> 
  • рд╕рд╛рдордЧреНрд░реА, рдЬрд┐рд╕рдХреЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ, рдХреЛ <p> рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рд╡рд░реНрдЧ рдирд╛рдо рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдмрд╛рд▓ рддрддреНрд╡реЛрдВ рдХреЛ рдПрдХ <span> рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

     <p class="body-text--semibold">  <span>Thing 1</span>  <span>Thing 2</span> </p> 
  • рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯрд╛рдЗрд▓ рд╕реЗрд▓ рдХреЛ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рд╕ рдХреЗ рдирд╛рдо рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред

рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк


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

тЦН рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ HTML рдХреЛрдб рд▓рд┐рдЦрдирд╛


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

рдпрджрд┐ рдореИрдВрдиреЗ рдкреНрд░рд╢реНрди рдореЗрдВ рдкреГрд╖реНрда рдХреЛ рдЙрд╕реА рддрд░рд╣ рдмрдирд╛рдпрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬреИрд╕рд╛ рдХреБрдЫ рдорд┐рд▓реЗрдЧрд╛:

 <div class="row">  <h1>Heading 1</h1>  <p class="body-text body-text--md body-text--semibold">h1</p>  <p class="body-text body-text--md body-text--semibold">Balboa Light, 30px</p>  <p class="group body-text body-text--md body-text--semibold">    <span>Product title (once on a page)</span>    <span>Illustration headline</span>  </p> </div> 

рдкрд╛рд░рдВрдкрд░рд┐рдХ Vue рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред


Vue рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг

рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:

  • <h1> , рдЬрд┐рд╕реЗ рдЙрд╕ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
  • <p> рдЧреНрд░реВрдкрд┐рдВрдЧ рдХрдИ <span> рдЯреЗрдХреНрд╕реНрдЯ рд╡рд╛рд▓реЗ рдмрдЪреНрдЪреЗред рдЗрди рддрддреНрд╡реЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдПрдХ рд╡рд░реНрдЧ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдЧ <p> рдЯреИрдЧ рдХреЛ рд╣реА рдирд╣реАрдВ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ)ред
  • <p> рдЬрд┐рд╕рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдирд╣реАрдВ рд╣реИ <span> рддрддреНрд╡ рдЬрд┐рдиреНрд╣реЗрдВ рдХреНрд▓рд╛рд╕ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣ рд╕рдм рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, v-if рдФрд░ v-if-else if- v-if-else рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдФрд░ рдпрд╣, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛ рдХрд┐ рдХреЛрдб рдмрд╣реБрдд рдЬрд▓реНрдж рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдЗрд╕ рд╕рднреА рд╕рд╢рд░реНрдд рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИред

тЦНRender рдХрд╛рд░реНрдп


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

рдбреЗрдЯрд╛ рдореЙрдбрд▓


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

рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ JSON рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдЕрд▓рдЧ рд▓рд╛рдЗрди рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реИ:

 {  "text": "Heading 1",  "element": "h1", //  .  "properties": "Balboa Light, 30px", //   .  "usage": ["Product title (once on a page)", "Illustration headline"] //   .   -   . } 

рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдиреЗ рд╡рд╛рд▓рд╛ HTML рд╣реИ:

 <div class="row">  <h1>Heading 1</h1>  <p class="body-text body-text--md body-text--semibold">h1</p>  <p class="body-text body-text--md body-text--semibold">Balboa Light, 30px</p>  <p class="group body-text body-text--md body-text--semibold">    <span>Product title (once on a page)</span>    <span>Illustration headline</span>  </p> </div> 

рдЕрдм рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдРрд░реЗ рдмрдЪреНрдЪреЛрдВ рдХреЗ рд╕рдореВрд╣ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред classes рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЧреБрдг, рдЬреЛ рд╕реНрд╡рдпрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ, рдХреНрд▓рд╛рд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред classes рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА base рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдЙрди classes рд╡рд┐рд╡рд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рд╕реЗрд▓ рдореЗрдВ рд╕рднреА рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВред variants рдкреНрд░реЙрдкрд░реНрдЯреА рдореЗрдВ рдореМрдЬреВрдж рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдХреЛ рд╕рдореВрд╣ рдореЗрдВ рдПрдХрд▓ рддрддреНрд╡ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

 {  "text": "Body Text - Large",  "element": "p",  "classes": {    "base": "body-text body-text--lg", //     .    "variants": ["body-text--bold", "body-text--regular"] //    ,       .        .  },  "properties": "Proxima Nova Bold and Regular, 20px",  "usage": ["Large button title", "Form label", "Large modal text"] } 

рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд┐рдореНрди HTML рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ:

 <div class="row">  <!--  1 -->  <p class="group">    <span class="body-text body-text--lg body-text--bold">Body Text - Large</span>    <span class="body-text body-text--lg body-text--regular">Body Text - Large</span>  </p>  <!--  2 -->  <p class="group body-text body-text--md body-text--semibold">    <span>body-text body-text--lg body-text--bold</span>    <span>body-text body-text--lg body-text--regular</span>  </p>  <!--  3 -->  <p class="body-text body-text--md body-text--semibold">Proxima Nova Bold and Regular, 20px</p>  <!--  4 -->  <p class="group body-text body-text--md body-text--semibold">    <span>Large button title</span>    <span>Form label</span>    <span>Large modal text</span>  </p> </div> 

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдореВрд▓ рд╕рдВрд░рдЪрдирд╛


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдореВрд▓ рдШрдЯрдХ рд╣реИ, TypographyTable.vue , рдЬрд┐рд╕рдореЗрдВ рдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрдЕрдк рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЪрд╛рдЗрд▓реНрдб рдХрдВрдкреЛрдиреЗрдВрдЯ, TypographyRow.vue , рдЬреЛ рдЯреЗрдмрд▓ рд░реЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рд░реЗрдВрдбрд░ рдлрдВрдХреНрд╢рди рд╣реИред

рддрд╛рд▓рд┐рдХрд╛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╕рдордп, рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ TypographyRow рдШрдЯрдХ рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

 <template>  <section>    <!--         -->    <div class="row">      <p class="body-text body-text--lg-bold heading">Hierarchy</p>      <p class="body-text body-text--lg-bold heading">Element/Class</p>      <p class="body-text body-text--lg-bold heading">Properties</p>      <p class="body-text body-text--lg-bold heading">Usage</p>    </div>     <!--             -->    <typography-row      v-for="(rowData, index) in $options.typographyData"      :key="index"      :row-data="rowData"    />  </section> </template> <script> import TypographyData from "@/data/typography.json"; import TypographyRow from "./TypographyRow"; export default {  //     ,        typographyData: TypographyData,  name: "TypographyTable",  components: {    TypographyRow }; </script> 

рдпрд╣рд╛рдВ рдореИрдВ рдПрдХ рд╕реБрдЦрдж рдЯреНрд░рд┐рдлрд╝рд▓ рдХреЛ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛: рдПрдХ Vue рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлрд┐рдХ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк $options.typographyData рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ( рдПрдВрдЯреЛрди рдХреЛрд╢реНрдпрдЦ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж)ред

рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдмрдирд╛рдирд╛


TypographyRow рдШрдЯрдХ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рд╣реИред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдРрд╕реА рд╕рдВрд╕реНрдерд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд░рд╛рдЬреНрдп рдФрд░ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдпрд╣ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡реЗ Vue рдШрдЯрдХ рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рдПрдХ рд╕рдорд╛рди рдШрдЯрдХ рдХрд╛ "рдХрдВрдХрд╛рд▓" рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдЕрдкрдиреЗ рдШрдЯрдХ рдкрд░ рдХрд╛рдо рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ:

 //  <template> <script> export default {  name: "TypographyRow",  functional: true, //       props: {    rowData: { //          type: Object     },  render(createElement, { props }) {    //    } </script> 

render рдШрдЯрдХ рд╡рд┐рдзрд┐ рдПрдХ context рддрд░реНрдХ рд▓реЗрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рд╣реИред рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдХреЗ рдЕрдзреАрди рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкрд╣рд▓рд╛ рддрд░реНрдХ createElement ред рдпрд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ Vue рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдиреЛрдб рдмрдирд╛рдирд╛ рд╣реИред рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдФрд░ рдХреЛрдб рдХреЗ рдорд╛рдирдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ createElement рд▓рд┐рдП рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо h рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ createElement ред рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ред

рддреЛ h рддреАрди рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИ:

  1. HTML рдЯреИрдЧ (рдЬреИрд╕реЗ div )ред
  2. рдПрдХ рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬрд┐рд╕рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, { class: 'something'} )ред
  3. рдкрд╛рда рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ (рдпрджрд┐ рд╣рдо рд╕рд┐рд░реНрдл рдкрд╛рда рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ) рдпрд╛ h рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЧрдП рдмрдЪреНрдЪреЗ рдХреЗ рдиреЛрдбреНрд╕ред

рдпрд╣рд╛рдБ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

 render(h, { props }) {  return h("div", { class: "example-class" }, "Here's my example text") } 

рдЖрдЗрдП рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдХреНрдпрд╛ рдмрдирд╛рдпрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:

  1. рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЬрд┐рд╕реЗ рдкреЗрдЬ рдмрдирд╛рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред
  2. рдПрдХ рдирд┐рдпрдорд┐рдд Vue рдШрдЯрдХ рдЬреЛ рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред
  3. рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХ рдХреА рд░реВрдкрд░реЗрдЦрд╛ рдЬреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред

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

  1. рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдорд╛рдирдХреАрдХреГрдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрджрд▓рдирд╛ред
  2. рд░реВрдкрд╛рдВрддрд░рд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред

рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди


рдореИрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдореЗрд░рд╛ рдбреЗрдЯрд╛ рдПрдХ рдРрд╕реЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдЬреЛ h рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реЛред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ JSON рдлрд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:

 //   {  tag: "", // HTML-    cellClass: "", //   .       -   null  text: "", // ,     children: [] //   ,     .     ,    . } 

рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдПрдХ рд╕реЗрд▓ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдЪрд╛рд░ рдХреЛрд╢рд┐рдХрд╛рдПрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдмрдирд╛рддреА рд╣реИрдВ (рд╡реЗ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдПрдХрддреНрд░ рдХреА рдЬрд╛рддреА рд╣реИрдВ):

 //   [ { cell1 }, { cell2 }, { cell3 }, { cell4 } ] 

рдЗрдирдкреБрдЯ рдмрд┐рдВрджреБ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рддрд░рд╣ рдПрдХ рдХрд╛рд░реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

 function createRow(data) { //      ,         let { text, element, classes = null, properties, usage } = data;  let row = [];  row[0] = createCellData(data) //         row[1] = createCellData(data)  row[2] = createCellData(data)  row[3] = createCellData(data)  return row; } 

рдЖрдЗрдП рд▓реЗрдЖрдЙрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЗрдЦреЗрдВред


рдкреЗрдЬ рд▓реЗрдЖрдЙрдЯ

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

 {  tag: "",  cellClass: "",  text: "",  children: [] } 

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

  • createNode рдлрд╝рдВрдХреНрд╢рди рдЙрди рдЧреБрдгреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
  • createCell рдлрд╝рдВрдХреНрд╢рди createCell рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдЖрд╡рд░рдг рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреА рдорджрдж рд╕реЗ рд╣рдо createNode рдХрд┐ рддрд░реНрдХ text рд╕рд░рдгреА рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рд╣рдо рдмрдЪреНрдЪреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╣реИрдВред

 //    function createCellData(tag, text) {  let children;  //  ,         const nodeClass = "body-text body-text--md body-text--semibold";  //   text   -   ,    span.  if (Array.isArray(text)) {    children = text.map(child => createNode("span", null, child, children));   return createNode(tag, nodeClass, text, children); } //    function createNode(tag, nodeClass, text, children = []) {  return {    tag: tag,    cellClass: nodeClass,    text: children.length ? null : text,    children: children  }; } 

рдЕрдм рд╣рдо рдРрд╕рд╛ рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 function createRow(data) {  let { text, element, classes = null, properties, usage } = data;  let row = [];  row[0] = ""  row[1] = createCellData("p", ?????) //         row[2] = createCellData("p", properties) //    row[3] = createCellData("p", usage) //    return row; } 

рддреАрд╕рд░реЗ рдФрд░ рдЪреМрдереЗ рдХреЙрд▓рдо рдХреЛ рдмрдирд╛рддреЗ рд╕рдордп, рд╣рдо рдЯреЗрдХреНрд╕реНрдЯ рддрд░реНрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ properties рдФрд░ usage рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ properties ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рджреВрд╕рд░рд╛ рдХреЙрд▓рдо рддреАрд╕рд░реЗ рдФрд░ рдЪреМрдереЗ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рдореЗрдВ, рдЗрд╕ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ:

 "classes": {  "base": "body-text body-text--lg",  "variants": ["body-text--bold", "body-text--regular"] }, 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ (рдЬреЛ рдХрд┐, h1 , h2 , рдФрд░ рдЗрд╕реА рддрд░рд╣) рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд░ рдЯреИрдЧ рдирд╛рдо рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╣рдо рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ text рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддрд╛ рд╣реИред

 //          function displayClasses(element, classes) {  //   ,     (   )  return getClasses(classes) ? getClasses(classes) : element; } //       (    )     (   ),   null (  ,   ) // : "body-text body-text--sm" or ["body-text body-text--sm body-text--bold", "body-text body-text--sm body-text--italic"] function getClasses(classes) {  if (classes) {    const { base, variants = null } = classes;    if (variants) {      //             return variants.map(variant => base.concat(`${variant}`));       return base;   return classes; } 

рдЕрдм рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 function createRow(data) {  let { text, element, classes = null, properties, usage } = data;  let row = [];  row[0] = ""  row[1] = createCellData("p", displayClasses(element, classes)) //    row[2] = createCellData("p", properties) //    row[3] = createCellData("p", usage) //    return row; } 

рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди


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

 <p class="body-text body-text--md body-text--semibold"> 

createCellData рдпрд╛ createNodeData рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рдПрдХ рдирдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдЗрди рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпреЛрдВ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд▓рд╛рдн createNodeData рдЬреЛ рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдирдпрд╛ рдбрд╛рдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рддрдВрддреНрд░ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛:

 function createDemoCellData(data) {  let children;  const classes = getClasses(data.classes);  //   ,       ,               if (Array.isArray(classes)) {    children = classes.map(child =>      //    "data.text"      ,   ,            createNode("span", child, data.text, children)    );   //   ,       if (typeof classes === "string") {    return createNode("p", classes, data.text, children);   //  ,    ( )  return createNode(data.element, null, data.text, children); } 

рдЕрдм рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд░реЗрдВрдбрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 function createRow(data) {  let { text, element, classes = null, properties, usage } = data  let row = []  row[0] = createDemoCellData(data)  row[1] = createCellData("p", displayClasses(element, classes))  row[2] = createCellData("p", properties)  row[3] = createCellData("p", usage)  return row } 

рдбреЗрдЯрд╛ рд░реЗрдВрдбрд░рд┐рдВрдЧ


рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 //   ,    "props" const rowData = props.rowData; //   ,     const row = createRow(rowData); //    "div"     return h("div", { class: "row" }, row.map(cell => renderCells(cell))); //    function renderCells(data) {  //  ,      if (data.children.length) {    return renderCell(      data.tag, //          { //            class: {          group: true, //    ""               [data.cellClass]: data.cellClass //      ,                  },      //        data.children.map(child => {        return renderCell(          child.tag,          { class: child.cellClass },          child.text        );      })    );   //     -     return renderCell(data.tag, { class: data.cellClass }, data.text); } // -  "h"     function renderCell(tag, classArgs, text) {  return h(tag, classArgs, text); } 

рдЕрдм рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ ! рдпрд╣рд╛рдВ , рдлрд┐рд░ рд╕реЗ, рд╕реНрд░реЛрдд рдХреЛрдбред

рдкрд░рд┐рдгрд╛рдо


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

рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрд╛, рдбреЗрдЯрд╛ рдЕрдм рдкреНрд░рд╕реНрддреБрддрд┐ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдЕрдм, рдпрджрд┐ рд╣рдорд╛рд░реЗ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВ, рдпрд╛ рдЗрд╕рдореЗрдВ рд╕реЗ рдХреЛрдИ рдореМрдЬреВрджрд╛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ HTML рдХреЛрдб рдХреЛ рд░реЗрдХ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рд▓рд┐рдП JSON рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рдЧреБрдг рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред

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


рд╢рд╛рдпрдж рдпрд╣ рдореЗрд░реЗ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЗрд╕рдХреЗ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! ? ?

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


All Articles