【发布时间】:2019-01-21 14:23:50
【问题描述】:
我正在编写一个呈现文本的组件。当单词以“@”开头时,它是用户的参考(如 twitter),我必须创建一个包含用户信息的工具提示。
这就是我实例化用户信息组件的方式(这很好,我在应用程序的其他地方使用它):
const AvatarCtor = Vue.extend(AvatarTooltip);
let avatarComponent = new AvatarCtor({
propsData: {
user: user
}
});
这是 TooltipWrapper 组件:
<template>
<el-tooltip>
<slot name="content" slot="content"></slot>
<span v-html="text"></span>
</el-tooltip>
</template>
<script>
import {Tooltip} from 'element-ui';
export default {
name: "TooltipWrapper",
components: {
'el-tooltip': Tooltip
},
props: {
text: String
}
}
</script>
这就是我将它们连接在一起的方式:
const TooltipCtor = Vue.extend(TooltipWrapper);
const tooltip = new TooltipCtor({
propsData: {
text: "whatever"
}
});
tooltip.$slots.content = [avatarComponent];
tooltip.$mount(link);
这不起作用。但是,如果我在 content 插槽中设置一些随机文本,它就可以正常工作:
tooltip.$slots.content = ['some text'];
所以我的问题是我不知道如何将组件传递给插槽。我做错了什么?
【问题讨论】:
标签: vuejs2 vue-component