我有一个带有Vue应用程序的HTML页面,包含一个组件。
应用程序安装在ID为paid-content
的元素上。
网站Map
<div id="paid-content">
<h2>You should see this if you're logged in</h2>
</div>
- main.ts*
import PaidContent from './PaidContent.vue'
createApp(PaidContent).mount('#paid-content')
组件本身检查用户是否已登录。
- 付费内容.vue*
<script lang="ts">
export default {
methods: {
getUser() {
return "bob"
},
}
}
</script>
<template>
<template v-if="getUser() !== null">
You are signed in!
<slot></slot>
</template>
<template v-else>
Please sign in.
</template>
</template>
现在它显示:
- 您已登录!*.
我希望它在paid-content
容器中呈现HTML,以显示:
您已登录!
登录后会看到
默认情况下,Vue似乎删除了<h2>
元素。
我尝试过的:
- 使用槽
- 在DOM根组件模板 * 根据文档。此语法与我使用的静态站点生成器(Hugo)不兼容。
有没有一种方法可以从Vue组件中的容器元素呈现HTML?
(Vue版本为3.3.2
)
1条答案
按热度按时间zazmityj1#
#paid-content
的innerHTML
PaidContent
作为 propv-html
渲染PaidContent.vue
main.ts