属性中的 Vue.js 原始 HTML

Posted

技术标签:

【中文标题】属性中的 Vue.js 原始 HTML【英文标题】:Vue.js raw HTML within attribute 【发布时间】:2018-01-08 01:11:21 【问题描述】:

有没有办法将原始 html 输出到标签属性而不是内容?

例子:

<input :placeholder="data.raw-html-message"/>

...

data.raw-html-message = "some text&hellip;"

v-html 似乎只将其输出到标签的 innerHTML 并且在版本 2 中删除了三重花括号。

当前使用标准v-bind 输出为:

&lt;input placeholder="Message&amp;hellip;" /&gt;

并且 HTML 实体在浏览器中显示时不会被解释。

此处示例:https://jsfiddle.net/cdsm22q8/1/

【问题讨论】:

我不知道如何执行此操作,也找不到任何文档示例。如果您真的想走这条路,这可能会对您有所帮助:github.com/mathiasbynens/he 可能不是您正在寻找的答案。 一般情况下您可能不应该被允许这样做,但您可以使用 unicode 等价物来代替 \u2026 【参考方案1】:

为什么不用自己的函数解析呢?

function parse_entities(string)
  return unescape(string);

https://jsfiddle.net/t8v7cre1/

【讨论】:

以上是关于属性中的 Vue.js 原始 HTML的主要内容,如果未能解决你的问题,请参考以下文章

Vue.js 打印原始 html 并调用组件方法

vue.js中的计算属性(computed)methodswatched三者的区别

HTML中的Vue JS无法识别添加的对象和属性

如何利用Vue.js库中的v-bind绑定样式属性

vue.js 中的公共属性显示警告

Vue.js 计算属性