【问题标题】:Bind raw html in Aurelia在 Aurelia 中绑定原始 html
【发布时间】:2015-03-31 16:52:28
【问题描述】:

使用Aurelia,我想用包含html文本的viewmodel属性(我们称之为htmlText)的内容填充<div>,我正在使用

<div>
${htmlText}
</div>

但是,这对 html 进行编码,因此,所有标签都被转义,而不是具有段落或链接,因此 html 可以被视为源代码。

是否有开箱即用的活页夹来执行此操作?

【问题讨论】:

  • P.S.我知道将 html 绑定到 viewmodel 会破坏它的目的,但是有些 API 在 json 中返回 html,所以我只想看看有没有简单的方法来使用它

标签: javascript-databinding aurelia


【解决方案1】:

您可以像这样使用 innerhtml 绑定来完成此操作:

<div innerhtml.bind="htmlText"></div>

【讨论】:

  • 目前此绑定存在问题,应在一两天内解决,请参阅此处了解状态github.com/aurelia/templating-binding/issues/7
  • 嗯,它适用于我正在尝试的东西(此时只是研究框架),我现在确实觉得很愚蠢 :) 谢谢!
  • 其实你是对的,它不绑定,但是,我应该自己尝试一下:)
  • 根据具体情况,出于安全考虑,在绑定之前对 html 进行清理可能是合适的。我的经验是默认情况下不会进行消毒。为了清理,有一个 sanitizeHTML 值转换器。我解释一下here
  • innerHTML 的目的是允许注入标记和代码。如果您想要净化内容,请使用 textcontent.bind 方法,更多内容请点击此处:aurelia.io/docs.html#/aurelia/framework/1.0.0-beta.1.1.1/doc/…
猜你喜欢
  • 2016-11-26
  • 2019-11-17
  • 2016-04-07
  • 2018-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多