绑定HTML而不是纯文本
Binding HTML rather than plain text
如何在Polymer中包含HTML而不是纯文本?假设通过ajax检索到包含<i>
和<strong>
元素的字符串数组,并且希望用dom-repeat
<template>
(或<iron-list>
,如我的特定场景中的情况)呈现这些字符串。如何做到这一点,使HTML呈现为实际的HTML?
绑定节点innerHTML
属性的一种略显hack的方法:
<div inner-h-t-m-l="{{myProp}}"></div>
Polymer从连字符中推断出大写,将后面的字符转换成大写。
我发现最简单的方法是创建一个具有以下定义的元素<bind-html>
:
<link rel="import" href="../bower_components/polymer/polymer.html">
<dom-module id="bind-html">
<template></template>
</dom-module>
<script>
Polymer({
is: 'bind-html',
properties: {
html: {
type: String,
observer: ["htmlChanged"]
}
},
htmlChanged: function(value){
Polymer.dom(this.root).innerHTML = value;
}
});
</script>
就像我发布这个一样,Zikes发布了另一个解决方案,所以我还没有研究哪一个最有效,但至少想在这里快速放下这个,以防它对某人有用。
感谢@Claies指出我没有足够仔细地阅读,并将我重新引导到一些聚合物0.5的讨论中,这对我有所帮助。
相关文章:
- 我收到消息“资源解释为脚本,但使用 MIME 类型文本/html 传输”
- 如何使按钮单击并更改以前显示的文本(html)
- 使用 Javascript 解析电子邮件源的文本/html 部分
- Javascript/jQuery,将CSS应用于包含特定文本/html的元素
- jQuery文本html操作,以查找大量文本中出现的字符,然后更改其颜色
- 使用 Jquery 创建具有转义文本 + HTML 的元素
- 在空节点(如文本节点)中添加文本/html
- 从网站获取特定文本 (html)
- 如何解决“资源解释为脚本但使用 MIME 类型文本/html 传输”
- 请求 JSONP 时的文本/html 输出
- 将元素添加到 DOM 给定的纯文本 HTML 中,仅使用纯 JavaScript(没有 jQuery)
- 在gmail撰写邮件区域中获取选中/突出显示的文本html
- 如何确定是否在父元素的开始或结束存在文本?HTML DOM &JavaScript
- 在输入文本html中显示格式
- 如何使纯文本html javascript
- 资源解释为脚本,但传输MIME类型文本/html javascript
- 从Javascript传递文本- HTML- PHP
- 从DOM对象中获取文本/html
- 脚本类型=“文本/ html"从文件中包含HTML
- jsFiddler.NET中的文本/HTML编辑器