vue.js - vue:转义和渲染 HTML 字符串?
问题描述
我正在尝试在模板中呈现一些 HTML 字符串,但我希望它们是字符串,我不想呈现“富文本”
我开始:
<template>
<div>{{'something <like /> this'}}</div>
</template>
但是 vue 会将上面的代码渲染成以下代码:
<like />
将被渲染为 html 标签
<div>{{'something <like></like> this'}}</div>
但我想要的是:
<div>something <like/> this</div>
我知道我可以把文字放进去data
<template>
<div>{{text}}</div>
</template>
<script>
export default {
data() {
return {
text: 'something <like /> this'
}
}
}
</script>
但这会变得乏味,我怎么能直接在模板中做到这一点
解决方案
您需要替换字符<
并且>
正如您所指出的那样,但您还需要使用该v-html
指令,因为字符串文字中的标签会破坏胡子绑定。
在您的脚本中:
methods: {
htmlToText(html) {
return html.replace(/</g, '<').replace(/>/g, '>')
},
}
在您的模板中:
<div v-html="htmlToText('something <like/> this')"></div>
做是<div>{{ htmlToText('something <like/> this') }}</div>
行不通的。
推荐阅读
- angularjs - 传递函数参考 2 级深度在 angularjs 中不起作用
- batch-file - 使用 7 zip 删除括号
- windows - 如何为 JupyterLab 安装可视化调试器?
- python - Tkinter - 我的按钮不会调用命令并且它没有显示错误
- mongodb - MongoDB 不使用复合索引进行排序阶段
- android - 安装在 android 版本 9 中时,我的 android 应用程序崩溃
- javascript - 选择选项JS时,if语句不做任何事情
- python - 用眼镜捕捉眼球的运动
- java - 在 Hadoop 上运行 jar 时如何解决 ConnectException?
- python - 将列表中的随机元素与 Python 中的用户输入连接起来