Я обновил свое приложение vue до vue2.7 и хочу удалить область действия слота из своего приложения, поскольку оно удалено в vue3. Итак, в примерах я вижу это для vue2:
<ItemList>
<template slot = "heading" slot-scope = "slotProps">
<h1>My Heading for {{ slotProps.items.length }} items</h1>
</template>
</ItemList>
В Vue 3 это изменено на это:
<ItemList>
<template v-slot:heading = "slotProps">
<h1>My Heading for {{ slotProps.items.length }} items</h1>
</template>
</ItemList>
Итак, в моем приложении слот-область используется по умолчанию:
<template slot-scope = "scope">
...
</template>
Итак, как я могу удалить slot-scope из своего приложения, а также для vue2.7, будет ли он поддерживаться?





slot-scope устарел во Vue2 и никогда не вернется обратно (даже во Vue3), просто изменился синтаксис.
Поэтому вместо того, чтобы писать это: slot-scope = "slotProps" вам нужно иметь следующее #default = "slotProps".
Все подробности доступны здесь: https://v2.vuejs.org/v2/guide/components-slots.html#Scoped-Slots-with-the-slot-scope-Attribute
# является сокращением для v-slot, как описано здесь: https://v2.vuejs.org/v2/guide/components-slots.html#Named-Slots-Shorthand