我有一个带有Vue应用程序的HTML页面,它由单个组件组成.
该应用程序安装在ID为paid-content
的元素上.
index.html个
<div id="paid-content">
<h2>如果您已登录,则应看到以下内容</h2>
</div>
main.ts个
import PaidContent from './PaidContent.vue'
createApp(PaidContent).mount('#paid-content')
该组件本身判断用户是否已登录.
PaidContent.vue个
<script lang="ts">
export default {
methods: {
getUser() {
return "bob"
},
}
}
</script>
<template>
<template v-if="getUser() !== null">
您已登录!
<slot></slot>
</template>
<template v-else>
Please sign in.
</template>
</template>
现在它显示:
您已登录!.
我希望它呈现paid-content
容器内的HTML以显示:
您已登录!
如果您已登录,则应看到以下内容
默认情况下,Vue似乎删除了<h2>
元素.
我试过的是:
- 使用插槽
- In-DOM Root Component Template按每the docs人计算.该语法与我正在使用的静态站点生成器(Hugo)不兼容.
有没有一种方法可以从Vue组件中的容器元素呈现HTML?
(VUE版本为3.3.2
)