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>.
рдмрд╛рдХреА рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдпрд╣ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдЪреЗрддрд╛рд╡рдиреА рдХрд╣рддреА рд╣реИ рдХрд┐ 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
рдЯреИрдЧ рдкрд░ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдХреИрд╡рд┐рдПрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рд╕рдордЭрд╛рдПрдВрдЧреЗ?
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдХреЛрдк рд╕реНрд▓реЙрдЯ рд╣реИ, рддреЛ рдЖрдкрдХреЛ `рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВрдиреЗ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдЪреЗрддрд╛рд╡рдиреА рд╡реИрд╕реЗ рднреА рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ, рдЪреЗрддрд╛рд╡рдиреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП
рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ?
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВрдиреЗ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдЪреЗрддрд╛рд╡рдиреА рд╡реИрд╕реЗ рднреА рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ, рдЪреЗрддрд╛рд╡рдиреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП