如果在页面元素中渲染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> 使用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> 方法一:原生js,采用操作dom的方法,.html = ''
方法二:通过vue,属性v-html vue在dom中渲染html元素,需要使用v-html指令来绑定值;而{{}}使用来渲染文本的
把:《<div>{{strHTML}}</div>》
换成:《<div v-html="strHTML"></div>》 <!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> H5中用pre或者code标签
页:
[1]