【发布时间】:2019-10-27 07:56:02
【问题描述】:
我想在 Vue 中使用 slot 来创建动态模态组件。
我已经尝试了很多关于 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)中存在的所有元素都插入到我的 Vue 元素内名为 modal-body 的插槽中。
有可能做到吗?我错过了什么吗?
【问题讨论】:
-
其实你用的是什么版本的Vue?
-
我使用的是 2.6.10
-
我尝试了其他一些版本,但它们也不起作用。
标签: javascript vuejs2 vue-cli