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

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рдЬреВрди 2019  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: vuejs/vue

рд╕рдВрд╕реНрдХрд░рдг

2.6.10

рдкреНрд░рдЬрдирди рд▓рд┐рдВрдХ

https://jsfiddle.net/mybeta/1dfwsazn/

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдЬрдм рдореИрдВ рдПрдХ рдШрдЯрдХ (рдЬреИрд╕реЗ <tr is="custom-row"> ) рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП DOM рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрдХреЛрдк рдХрд┐рдП рдЧрдП рд╕реНрд▓реЙрдЯ (рд╕реНрд▓реЙрдЯрдкреНрд░реЙрдкреНрд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореИрдВ рдЗрд╕рдХрд╛ рдЗрд╕ рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:

<tr is="custom-row" v-slot="slotProps">
    slotProps: {{slotProps.test}}
</tr>

рдХреНрдпрд╛ рдЙрдореНрдореАрдж рд╣реИ?

рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?

рдореБрдЭреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреЗрддрд╛рд╡рдиреА рдорд┐рд▓рддреА рд╣реИред

[Vue warn]: Error compiling template:
v-slot can only be used on components or <template>.

рдмрд╛рдХреА рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдпрд╣ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

bug contribution welcome good first issue has PR warnings

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

рдореИрдВрдиреЗ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдЪреЗрддрд╛рд╡рдиреА рд╡реИрд╕реЗ рднреА рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ, рдЪреЗрддрд╛рд╡рдиреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

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

рдЬреИрд╕рд╛ рдХрд┐ рдЪреЗрддрд╛рд╡рдиреА рдХрд╣рддреА рд╣реИ рдХрд┐ v-slot рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд░реИрдкрд░ рдШрдЯрдХреЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдШрдЯрдХ рдореЗрдВ рд╣реА рдиреЗрд╕реНрдЯреЗрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди template рдЯреИрдЧ рдкрд░ред
рдкрд╣рд▓реЗ, slot-scope рдЗрд╕ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЖрдк RFC рдХреА рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/vuejs/rfcs/blob/master/active-rfcs/0001-new-slot- syntax.mdред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдХреЛрдк рд╕реНрд▓реЙрдЯ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

<tr :is="customComp" v-slot="data"></tr>

рд╣рд╛рдп @posva , рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдЬреИрд╕рд╛ рдХрд┐ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ v-slot рдиреЗрд╕реНрдЯреЗрдб рдХреЛ template рдЯреИрдЧ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рдиреАрдЪреЗ рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реИред

<div is="test-component">
  <template v-slot:default="slotProps">
    slotProps: {{slotProps.test}}
  </template>
</div>

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЬреЛ рдЪреЗрддрд╛рд╡рдиреА рднреА рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЙрд╕реЗ рджреЗрдЦреЗрдВ:
https://jsfiddle.net/mybeta/bhcoLwu3/

рдЬрдм DOM рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗрд╡рд┐рдЯ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

<test-component>
  <template v-slot:default="slotProps">
    slotProps: {{slotProps.test}}
  </template>
</test-component>

рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдореБрдЭреЗ tr рдЯреИрдЧ рдкрд░ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдХреИрд╡рд┐рдПрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рд╕рдордЭрд╛рдПрдВрдЧреЗ?

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдХреЛрдк рд╕реНрд▓реЙрдЯ рд╣реИ, рддреЛ рдЖрдкрдХреЛ `рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВрдиреЗ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдЪреЗрддрд╛рд╡рдиреА рд╡реИрд╕реЗ рднреА рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ, рдЪреЗрддрд╛рд╡рдиреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ?

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

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

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

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

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

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

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