在没有额外包装标签的情况下,如何在Vue 3 <script setup>环境中使用VUE的v-html指令?

我希望能够做这样的事情:

<script setup>
const html = ref(`<pre></pre>`)
</script>

<template v-html="html"></template>

推荐答案

Vue SFC Playground

使用渲染功能来制作功能组件.直接插入或与<component>一起插入.您甚至可以在不使用<component>的情况下动态更改它,或者您可以更改呈现函数以发出不同的HTML:

<script setup>
  import {h, ref} from 'vue';
  const dynamic = ref(() => h('pre', {}, 'i am dynamic'));
</script>

<template>
  <div>
    <component :is="() => h('pre', {}, 'i am a static PRE without a wrapper')"/>
    <dynamic />
  </div>
  <button @click="dynamic = () => h('input', {value: 'i was PRE'})">Change to INPUT</button>
</template>


Javascript相关问答推荐

脚本.js:3:20未捕获的类型错误:无法读取空的属性(读取addEventHandler)

一次仅播放一个音频

IMDB使用 puppeteer 加载更多按钮(nodejs)

防止用户在selectizeInput中取消 Select 选项

jQuery提交按钮重新加载页面,即使在WordPress中使用preventDefault()

如何在Angular中插入动态组件

Phaser 3 console. log()特定游戏角色的瓷砖属性

Rehype将hashtag呈现为URL

为什么当我解析一个promise时,输出处于挂起状态?

将本机导航路由react 到导航栏中未列出的屏幕?

使用领域Web SDK的Vite+Vue应用程序中的Web程序集(WASM)错误

用JS从平面文件构建树形 struct 的JSON

从页面到应用程序(NextJS):REST.STATUS不是一个函数

当代码另有说明时,随机放置的圆圈有时会从画布上消失

判断函数参数的类型

JavaScript将字符串数字转换为整数

如何让SVG图标在被点击和访问后改变 colored颜色 ,并在被访问后取消点击时恢复到原来的 colored颜色 ?

使用Perl Selify::Remote::Driver执行Java脚本时出错

不允许在对象文本中注释掉的属性

在ReactJS上挂载组件时获得多个身份验证请求