在 Vue 3 和 TypeScript 中存在一些问题,例如:

  1. 在 Vue 3 中,v-html 指令已被重命名为 v-html,所以在模板中使用 <div v-html='message'></div> 是不正确的。正确的写法是 <div v-html='message'></div>
  2. TypeScript 中,需要定义 message 的类型。可以使用 ref 进行定义,例如:const message = ref<string>('')
  3. 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&lt;string&gt;('');

    const setMessageInnerHTML = (innerHTML: string) => {
      message.value += innerHTML + '&lt;br/&gt;';
    };

    return {
      message,
      setMessageInnerHTML,
    };
  },
};
</script>

请注意,在 Vue 3 中,我们需要使用 ref.value 来获取和设置 ref 的值。

Vue 3 和 TypeScript 中使用 v-html 和 ref 的正确方法

原文地址: https://www.cveoy.top/t/topic/qzPG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录