Я хочу использовать слоты в Vue для создания динамического модального компонента.
Я уже пробовал много уроков по Vue / slots, но ни один из них не является именно тем, что я ищу.
Это часть моего modal.vue
:
<template>
...
<slot name="modal-body"></slot>
...
</template>
<script>
</script>
<style>
</style>
Это мой скомпилированный файл JavaScript:
import Vue from 'vue';
import modal from './modal.vue';
new Vue({
el: '#modal',
render: r => r(modal)
});
Это часть моего HTML-файла:
...
<div id="modal">
<template v-slot="modal-body">
<input type="text" id="dynamic-input">
</template>
</div>
...
Я ожидал, что все элементы, присутствующие внутри #modal
(в данном случае #dynamic-input
), были вставлены в слот с именем modal-body
внутри моего элемента Vue.
Возможно ли это сделать? Я что-то упустил?