cqwcns 发表于 2022-10-6 08:32

如果在页面元素中渲染HTML代码。

如以下Demo,我通过VUE创建了一个html字符串。
我希望在页面中渲染成html(效果),而不是字符串。
不知道应该这么写,请各位大佬指教,感谢。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <head>
      <script src="https://unpkg.com/vue@3.2.40/dist/vue.global.js"></script>
    </head>
</head>

<body>
    <div id="app" style="width: 600px;">
      <div>{{strHTML}}</div>
    </div>
    <script>

      let that = null,
            App = {
                data() {
                  return {
                        strHTML: `我很特别<b>粗</b>,希望你不要介意哦`,
                  }
                }
            }
      const app = Vue.createApp(App);
      app.mount("#app");
    </script>
</body>

</html>

meng234885 发表于 2022-10-6 08:43

使用v-html标签<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>v-html指令</title>
</head>

<body>
    <div id="app">
      <p>{{ msg }}</p>
                <p v-text="msg"></p>
                <p v-html="msg"></p>
    </div>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
      var app = new Vue({
            el:"#app",
            data:{
                msg:`我很特别<b>粗</b>,希望你不要介意哦`
            }
      })
    </script>
</body>

</html>

岁月bm123 发表于 2022-10-6 08:44

方法一:原生js,采用操作dom的方法,.html = ''
方法二:通过vue,属性v-html

塞北孤舟 发表于 2022-10-6 08:45

vue在dom中渲染html元素,需要使用v-html指令来绑定值;而{{}}使用来渲染文本的
把:《<div>{{strHTML}}</div>》
换成:《<div v-html="strHTML"></div>》

meng234885 发表于 2022-10-6 08:47

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>v-html指令</title>
</head>

<body>
    <div id="app">
      <p>{{ msg }}</p>
                <p v-text="msg"></p>
                <p v-html="msg"></p>
    </div>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
      var app = new Vue({
            el:"#app",
            data:{
                msg:`我很特别<b>粗</b>,希望你不要介意哦`
            }
      })
    </script>
</body>

</html>

木木头上 发表于 2022-10-6 09:41

H5中用pre或者code标签
页: [1]
查看完整版本: 如果在页面元素中渲染HTML代码。