Vue插值中的样式文字

时间:2019-03-12 19:39:02

标签: javascript html vue.js

有没有办法像这样制作内插文本:

<div>{{htmlReturningFn()}}</div>

然后:

methods: {
  htmlReturningFn () {
    return `there are <strong>BOLD</strong> words in this text`
  }
}

当然,希望是这样的

  

此文本中有 BOLD 个词。

我知道我可以为模板中的不同部分设置样式,但是我想要样式化的文本很长,需要加粗的单词是无法预测的。

1 个答案:

答案 0 :(得分:5)

您可以使用v-html伪指令和计算的属性。

赞:

HTML

<div v-html="htmlReturningFn"></div>

JS

computed: {
  htmlReturningFn: function ()  {
    return `there are <strong>BOLD</strong> words in this text`
  }
}

VueJS Doc about raw html


安全建议: :如果您的用户可以修改htmlReturningFn中的内容,由于可能存在跨站点脚本,因此不建议使用它(XSS)问题。