如何在 VUE.js 中将字符串中的 <br> 解析为 html 标签

inn*_*ter 5 javascript regex vue.js vuejs2

我在 Vue.js 中使用 {{}} 将我的数据呈现为 HTML。但是现在我的数据中有一个字符串,我希望
在呈现数据时可以将该字符串中的标签解析为 HTML 标签。

data(){
  return {
    bodyText: 'aaaaaa<br>aaaaaa'
}
}
Run Code Online (Sandbox Code Playgroud)
<p>{{bodyText}}</p>
Run Code Online (Sandbox Code Playgroud)

我希望 span 标签中的内容如下:

aaaaaa
aaaaaa
Run Code Online (Sandbox Code Playgroud)

但结果是: aaaaaa<br>aaaaaa

小智 14

我认为它应该使用这个

<p>Using v-html directive: <span v-html="rawHtml"></span></p>
Run Code Online (Sandbox Code Playgroud)

  • 如果您在项目中使用 eslint,则在使用 v-html 时可能会出现警告。'v-html' 指令可能会导致 XSS 攻击 vue/no-v-html 为了避免这种情况,你可以按如下方式使用它 - &lt;!-- eslint-disable vue/no-v-html --&gt; &lt;div v-html ="bodyText"&gt;&lt;/div&gt; &lt;!--eslint-enable--&gt; (2认同)
  • 我想知道这对安全的影响,这对我来说似乎是一个有效的警告。 (2认同)

Psi*_*dom 8

使用v-html指令

<p><span v-html="bodyText"></span></p>
Run Code Online (Sandbox Code Playgroud)