рдореИрдВ рдЗрд╕реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рд▓рд┐рдЦрддрд╛ рд╣реВрдВ, рддрд╛рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рд╣реЛ рдХрд┐ рдХреЛрдИ рдореБрдЭрд╕реЗ рдкреВрдЫреЗ рдХрд┐ рдореИрдВ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╣ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ Svelte рдХреЛ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕реЗ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрдирдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдХрд╕реНрдЯрдо рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдкрд░ рдЙрддреНрдХреГрд╖реНрдЯ рд░реЗрдЯрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ )ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рднреА рд╡реЗрдм рдШрдЯрдХреЛрдВ рдкрд░ рдХреА рдЧрдИ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреА рдЖрд▓реЛрдЪрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╢рд╛рдпрдж рдореИрдВрдиреЗ рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ рднреА рдЧрд▓рддрд┐рдпрд╛рдБ рдХреАрдВ, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдореБрдЭреЗ рд╕рдВрд╢реЛрдзрди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рди рд╣реА рдореИрдВ рдпрд╣ рдШреЛрд╖рдгрд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЛ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрдирдХрд╛ рдЕрдкрдирд╛ рджрд╛рдпрд░рд╛ рд╣реИред рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рдореЗрд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИрдВред
1. рдкреНрд░рдЧрддрд┐рд╢реАрд▓ рд╕реБрдзрд╛рд░
рдпрд╣ рдПрдХ рдкреБрд░рд╛рдиреЗ рдврдВрдЧ рдХрд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд┐рдирд╛ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬреЗрдПрд╕ рдХреЗ рдмрд┐рдирд╛ рд╡реЗрдм рдШрдЯрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЙрди рдЪреАрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдЬреЛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдХрд╕реНрдЯрдо рдлрд╝реЙрд░реНрдо рддрддреНрд╡ (<cool-datepicker>), рд▓реЗрдХрд┐рди рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рдпрд╛ рдПрдХ <twitter-share>
рдШрдЯрдХ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬреЛ Twitter рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП URL рдмрдирд╛рдиреЗ рдХреЗ рддрд░реНрдХ рдХреЛ рдХреВрдЯрдмрджреНрдз рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ Svelte рдкрд░ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдореЗрд░реЗ рд▓рд┐рдП рдирд┐рдореНрди HTML рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
<a target="_blank" noreferrer href="..." class="svelte-1jnfxx"> Tweet this </a>
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╕рд╛рдорд╛рдиреНрдп < <a>
рдЕрдкрдиреЗ рд╕рднреА рд╡реИрднрд╡ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдЬрдм рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдкреНрд░рдЧрддрд┐рд╢реАрд▓ рд╕реБрдзрд╛рд░ рд╣реЛрддрд╛ рд╣реИ - рдПрдХ рдирдпрд╛ рдЯреИрдм рдЦреЛрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рдЫреЛрдЯрд╛ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдЦреБрд▓рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬреЗрдПрд╕ рдХреЗ рдмрд┐рдирд╛ рднреА, рдШрдЯрдХ рдЕрднреА рднреА рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
HTML рд╡реЗрдм рдШрдЯрдХ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
<twitter-share text="..." url="..." via="..."/>
... рдЬреЛ рдмреЗрдХрд╛рд░ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реИ рдпрджрд┐ рдЬреЗрдПрд╕ рдЕрд╡рд░реБрджреНрдз рд╣реИ, рдпрд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдПрдХ рдкреБрд░рд╛рдирд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, class="svelte-1jnfxx"
рд╣рдореЗрдВ рд╢реИрдбреЛ рдбреЛрдо рдХреЗ рдмрд┐рдирд╛ рд╕реНрдЯрд╛рдЗрд▓ class="svelte-1jnfxx"
рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЬреЛ рд╣рдореЗрдВ рдЕрдЧрд▓реЗ рдмрд┐рдВрджреБ рдкрд░ рд▓рд╛рддрд╛ рд╣реИред
2. рд╕реАрдПрд╕рдПрд╕ рдЗрди, рдЙрд╣ ... рдЬреЗрдПрд╕
рдпрджрд┐ рдЖрдк рд╢реИрдбреЛ рдбреЛрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ <style>
CSS <style>
рдореЗрдВ рдЕрдкрдирд╛ рд╕реАрдПрд╕рдПрд╕ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рддрд░реАрдХрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рд▓реЛрдбрд┐рдВрдЧ рд╕рд╛рдордЧреНрд░реА рдмреНрд▓рд┐рдВрдХрд┐рдВрдЧ (FOUC) рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ CSS рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд╡реЗрдм рдШрдЯрдХ рдХреЗ рдмрд╛рдХреА рддрд░реНрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рд╕рд▓рд╛рд╣ рдХрд╛ рдЦрдВрдбрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкрдврд╝рддрд╛ рд╣реИ: "рдХрдо рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдХреГрдкрдпрд╛ред" рд╕реАрдПрд╕рдПрд╕-рдЗрди-рдЬреЗрдПрд╕ рд╕рдореБрджрд╛рдп, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд▓рд┐рдП рд╕реАрдПрд╕рдПрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓реЛрдЪрдирд╛ рдХреА рдЧрдИ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рд╣рдо рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рд╣реИрдВред
рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП CSS Modules рдХреЗ рд╕рд╛рде-рд╕рд╛рде Constructable Stylesheets рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╢реИрдбреЛ рдбреЛрдо рдХреЗ рдЗрдВрдЯрд░реНрд▓реНрд╕ рдХреЛ ::theme
рдФрд░ ::part
рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рднреА рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдпрд╣ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдерд╛ред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рджреБрдЦрдж рдореБрдХреБрдЯ рд╣реИ - рдореИрдВрдиреЗ рдХрдИ рд╕рд╛рд▓реЛрдВ рддрдХ рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ "рднрд╡рд┐рд╖реНрдп" рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдХреЗ рд╕рд╛рде рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП , рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рдордВрдЪ рднрд░рдирд╛ рдерд╛, рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред
рд▓реЗрдЦрди рдХреЗ рд╕рдордп, https://crbug.com рдкрд░, Chrome рдХрд╛ рдмрдЧ рдЯреНрд░реИрдХрд░, 61,000 рдЦреБрд▓реЗ рдмрдЧ рдЬреЛ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓рд┐рдЦрдиреЗ рдХреА рд╡рд┐рд╢рд╛рд▓ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВред
рд╣рд░ рдмрд╛рд░ рдЬрдм рд╣рдо рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ - рдирдП рдмрдЧ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорддрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдХрдо рд╕рдВрднрд╛рд╡рдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд░реЛрдо рдореЗрдВ рдПрдХ рдирдпрд╛ рдкреНрд░рддрд┐рдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдпрд╣ рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рднреА рдореБрд╢реНрдХрд┐рд▓реЗрдВ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдЗрди рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ (рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ, рдЬреИрд╕реЗ рдХрд┐ HTML рдЖрдпрд╛рдд рдпрд╛ рдХрд╕реНрдЯрдо рддрддреНрд╡ рдорд╛рдирдХ рдХреЗ рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг, рдХреЛ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдиреЗ Google рдХреЗ рдмрд╛рд╣рд░ рд░реВрдЯ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрдм рд╣рдЯрд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИрдВ)ред
4. рдкреЙрд▓реАрдлрд┐рд▓реНрд╕
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдкреЙрд▓реАрдлрд╝рд╛рдЗрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕реНрдерд┐рддрд┐ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣ Google (рд╣рд╛рдп рдЬреЗрд╕рди!) рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯреЗрдмрд▓ рд╕реНрдЯрд╛рдЗрд▓реНрд╕рд╢реАрдЯреНрд╕ рдХреЗ рд╕рднреА рд▓реЗрдЦреЛрдВ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рди рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХреЗрд╡рд▓ рдХреНрд░реЛрдо рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред ( рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рднреА рддреАрди рд▓реЗрдЦрдХ Google рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╡реЗрдмрдХрд┐рдЯ рдХреЛ рдЗрд╕ рдорд╛рдирдХ рдХреЗ рдХреБрдЫ рдкрд╣рд▓реБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╣ рд╣реИ )ред
5. рд░рдЪрдирд╛
рдпрд╣ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдПрдХ рд╕реНрд▓реЙрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдкрд░ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП <html-include>
рд╣реИ:
<p>Toggle the section for more info:</p> <toggled-section> <html-include src="./more-info.html"/> </toggled-section>
рдЕрдЪрд╛рдирдХ! рднрд▓реЗ рд╣реА рд╣рдордиреЗ рдЕрднреА рддрдХ toggled-section
рдирд╣реАрдВ рдЦреЛрд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде more-info.html
рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рд╣реИред
рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрд▓реЙрдЯреНрд╕ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдореЗрдВ рдЕрдЧреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрдк рд╕реНрд▓реЙрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЖрд▓рд╕реА рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред Svelte v2 рдиреЗ рд╡реЗрдм рдорд╛рдирдХреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдХреНрд░рд┐рдп рд░реЗрдбрд┐рдВрдЧ рдореЙрдбрд▓ рдЕрдкрдирд╛рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдореБрдЦреНрдп рд╕реНрд░реЛрдд рдерд╛ - рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд┐рдПрдХреНрдЯ рд░рд╛рдЙрдЯрд░ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рдереЗред Svelte v3 рдореЗрдВ, рд╣рдо рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рджреВрд░ рдЪрд▓реЗ рдЧрдП рдФрд░ рдХрднреА рдкреАрдЫреЗ рдореБрдбрд╝рдХрд░ рдирд╣реАрдВ рджреЗрдЦрд╛ред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ DOM рдХреА рдореВрд▓рднреВрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдерд╛ред рдЬреЛ рд╣рдореЗрдВ рд▓рд╛рддрд╛ рд╣реИ ...
6. рдЧреБрдгреЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рднреНрд░рдо
рдЧреБрдг рдФрд░ рдЧреБрдг рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╣реА рдмрд╛рдд рд╣реИ, рд╣реИ рдирд╛?
const button = document.createElement('button'); button.hasAttribute('disabled');
рдЦреИрд░, рд▓рдЧрднрдЧ:
typeof button.disabled;
рдРрд╕реЗ рдирд╛рдо рд╣реИрдВ рдЬреЛ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ:
div = document.createElement('div'); div.setAttribute('class', 'one'); div.className;
... рдФрд░ рдРрд╕реЗ рд╣реИрдВ рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реИрдВ:
input = document.createElement('input'); input.getAttribute('value');
рд▓реЗрдХрд┐рди рд╣рдо рдЗрди quirks, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рд░реВрдк рдХреА рдмрд╛рддрдЪреАрдд (HTML) рдФрд░ DOM рд╕реЗ рдирд┐рдкрдЯ рд╕рдХрддреЗ рд╣реИрдВред рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдПрдХ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рд╡реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИрдВ, рддрд╛рдХрд┐ рд╣рдо рдХрдо рд╕реЗ рдХрдо рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рди рд╕рдХреЗрдВ, рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдордп рдФрд░ рдзреИрд░реНрдп рд╣реИред
рд╡реЗрдм рдШрдЯрдХреЛрдВ рд╕реЗ рдлрд░реНрдХ рдкрдбрд╝рддрд╛ рд╣реИред рдЧреБрдг рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЖрдк, рд╡реЗрдм рдШрдЯрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рдЬреЛ рд╣рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рдо рдореЗрдВ рд▓рд╛рддрд╛ рд╣реИ:
class MyThing extends HTMLElement { static get observedAttributes() { return ['foo', 'bar', 'baz']; } get foo() { return this.getAttribute('foo'); } set foo(value) { this.setAttribute('foo', value); } get bar() { return this.getAttribute('bar'); } set bar(value) { this.setAttribute('bar', value); } get baz() { return this.hasAttribute('baz'); } set baz(value) { if (value) { this.setAttribute('baz', ''); } else { this.removeAttribute('baz'); } } attributeChangedCallback(name, oldValue, newValue) { if (name === 'foo') {
рдЖрдк рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд╡рд┐рд╢реЗрд╖рддрд╛рдЪреИрд▓реНрдХреЙрд▓рдмреИрдХ рдЧреЗрдЯрд░реНрд╕ рдФрд░ рдХреЙрд▓рд░реНрд╕ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдмрд╕ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИред рдЙрд╕реА рд╕рдордп, рдПрдХ рдШрдЯрдХ рдХреЛ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреМрдЦрдЯреЗ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдФрд░ рдЕрд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рд╣реИред
7. рд▓реАрдХ рдбрд┐рдЬрд╛рдЗрди
рдпрд╣ рдЖрдЗрдЯрдо рдереЛрдбрд╝рд╛ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ attributeChangedCallback
рд╕рд┐рд░реНрдл рдПрдХ рдХреНрд▓рд╛рд╕ рд╡рд┐рдзрд┐ рд╣реИред рдЖрдк рд╕рдЪрдореБрдЪ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
const element = document.querySelector('my-thing'); element.attributeChangedCallback('w', 't', 'f');
рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдирд╣реАрдВ рдмрджрд▓реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдб рдРрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╣реБрдЖред рдмреЗрд╢рдХ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЪрд┐рдкрдХрд╛ рд╣реБрдЖ рджреЗрдЦрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЧрд▓рдд рд╣реИред
8. рдЦрд░рд╛рдм рдбреЛрдо
рдареАрдХ рд╣реИ, рд╣рдо рдкрд╣рд▓реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рдбреЛрдо рдЦрд░рд╛рдм рд╣реИред рд▓реЗрдХрд┐рди рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдпрд╣ рдХрд╣рдирд╛ рдЕрднреА рднреА рдХрдард┐рди рд╣реИред
рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдерд╛, "рдХрдо рдХреЛрдб рд▓рд┐рдЦреЗрдВ," рдпрд╣ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреИрд╕реЗ рд░рд┐рдПрдХреНрдЯ рдФрд░ рд╡реЗрдЙ рдЬреИрд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрд╡реЗрд▓реНрдЯ рдШрдЯрдХ рдХреЛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗрдирд┐рд▓рд╛ рдбреЛрдо рдХреЗ рд╕рд╛рде рдХреЛрдИ рддреБрд▓рдирд╛ рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд░рд▓ рдШрдЯрдХ рд╣реИ <Adder a={1} b={2}/>
:
<script> export let a; export let b; </script> <input type="number" bind:value={a}> <input type="number" bind:value={b}> <p>{a} + {b} = {a + b}</p>
рд╡рд╣ рд╕рдм рд╣реИред рдЕрдм рд╡реЗрдм рдШрдЯрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╣реА рдмрд╛рдд рд▓рд┐рдЦреЗрдВ:
class Adder extends HTMLElement { constructor() { super(); this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = ` <input type="number"> <input type="number"> <p></p> `; this.inputs = this.shadowRoot.querySelectorAll('input'); this.p = this.shadowRoot.querySelector('p'); this.update(); this.inputs[0].addEventListener('input', e => { this.a = +e.target.value; }); this.inputs[1].addEventListener('input', e => { this.b = +e.target.value; }); } static get observedAttributes() { return ['a', 'b']; } get a() { return +this.getAttribute('a'); } set a(value) { this.setAttribute('a', value); } get b() { return +this.getAttribute('b'); } set b(value) { this.setAttribute('b', value); } attributeChangedCallback() { this.update(); } update() { this.inputs[0].value = this.a; this.inputs[1].value = this.b; this.p.textContent = `${this.a} + ${this.b} = ${this.a + this.b}`; } } customElements.define('my-adder', Adder);
рд╣рд╛рдБред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рд╣рдо рд╕рд┐рдВрдХреНрд░реЛрдирд╕ a
рдФрд░ b
рджреЛрдиреЛрдВ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдкрдбреЗрдЯ рд╣реЛрдВрдЧреЗред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪреМрдЦрдЯреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЧреНрд░рд╕реНрдд рдирд╣реАрдВ рд╣реИрдВред
9. рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдо
рдореИрдВ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдПрдХ рдПрдХрд▓ рд╕рд╛рдЭрд╛ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЦрддрд░реЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЬреНрдЮрд╛рдд рдФрд░ рдЕрд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВред
10. рдЗрди рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкрд╣рд▓реЗ рд╣реА рд╣реЛ рдЪреБрдХрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рджреБрдЦ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдЪреНрдЫреЗ рдШрдЯрдХ рдореЙрдбрд▓ рд╣реИрдВред рд╣рдо рдЕрднреА рднреА рд╕реАрдЦ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореВрд▓ рдХрд╛рд░реНрдп - рдШрдЯрдХ-рдЙрдиреНрдореБрдЦ рд╢реИрд▓реА рдореЗрдВ DOM рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рджреГрд╢реНрдп рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛ - рдХрдИ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╣реА рд╣рд▓ рд╣реЛ рдЪреБрдХрд╛ рд╣реИред рдФрд░ рд╣рдо рдЕрднреА рднреА рд╡реЗрдм рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдореЗрдВ рд╣реИрдВред
рдЪреВрдБрдХрд┐ рд╣рдорд╛рд░реЗ рд╕рдВрд╕рд╛рдзрди рдЕрдирдВрдд рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдп рдкрд░ рдмрд┐рддрд╛рдП рдЧрдП рд╕рдордп рдХрд╛ рдорддрд▓рдм рджреВрд╕рд░реЗ рдХрд╛рд░реНрдп рдкрд░ рдзреНрдпрд╛рди рди рджреЗрдирд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рд╕рд╛рдорд╛рдиреНрдп рдЙрджрд╛рд╕реАрдирддрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╡реЗрдм рдШрдЯрдХреЛрдВ рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдКрд░реНрдЬрд╛ рдЦрд░реНрдЪ рдХреА рдЧрдИ рдереАред рдЗрд╕ рдКрд░реНрдЬрд╛ рдХреЛ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рдкрд░ рдЦрд░реНрдЪ рдХрд░рдХреЗ рд╣рдо рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?