Vue 3 和 TypeScript 中使用 v-html 和 ref 的正确方法
在 Vue 3 和 TypeScript 中存在一些问题,例如:
- 在 Vue 3 中,
v-html指令已被重命名为v-html,所以在模板中使用<div v-html='message'></div>是不正确的。正确的写法是<div v-html='message'></div>。 - TypeScript 中,需要定义
message的类型。可以使用ref进行定义,例如:const message = ref<string>('')。 setMessageInnerHTML方法中的message变量需要使用ref进行定义,例如:const message = ref<string>('')。
综上所述,修正后的代码应该是:
<template>
<div v-html='message'></div>
</template>
<script>
import { ref } from 'vue';
export default {
setup() {
const message = ref<string>('');
const setMessageInnerHTML = (innerHTML: string) => {
message.value += innerHTML + '<br/>';
};
return {
message,
setMessageInnerHTML,
};
},
};
</script>
请注意,在 Vue 3 中,我们需要使用 ref.value 来获取和设置 ref 的值。
原文地址: https://www.cveoy.top/t/topic/qzPG 著作权归作者所有。请勿转载和采集!