聚合物将数据绑定到加载了 innerHTML 的元素
Polymer binding data to element loaded with innerHTML
我正在为一个项目使用聚合物。我有通过this.innerHTML
加载的 html 元素。我想将这些元素中的数据绑定到主页。我不知道这是否可能。这是设置:我有一个主应用程序,它将元素绑定到我的<html-echo>
元素的html
属性。然后,此元素应使用 .innerHTML
加载 html(否则不会解析 html)。从注入的元素中,我想绑定其数据。这可能吗?
主应用
<polymer-element name="main-app">
<template>
<html-echo html="{{htmlToBeEchoed}}"></html-echo>
</template>
<script>
Polymer('main-app', {
htmlToBeEchoed = "<test data='{{data}}'></test>";
});
</script>
</polymer-element>
html-echo.html
<polymer-element name="html-echo" attributes="html data">
<script>
Polymer('html-echo', {
htmlChanged: function() {
// WARNING: potential XSS vulnerability if `html` comes from an untrusted source :()
this.innerHTML = this.html;
}
});
</script>
</polymer-element>
测试.html
<polymer-element name="test" attributes="data">
<script>
Polymer('test', {
data: 5
});
</script>
</polymer-element>
是的,使用 injectBoundHTML。从 https://github.com/Polymer/docs/issues/607:
/**
* Inject HTML which contains markup bound to this element into
* a target element (replacing target element content).
* @param String html to inject
* @param Element target element
*/
injectBoundHTML: function(html, element)
在聚合物元件中,代替
el.innerHTML = html;
做
this.injectBoundHTML(html, el);
相关文章:
- 使用元素的值与innerHTML
- innerHTML赢得't改变元素
- 如何避免在更改画布元素时清除它's容器's innerHtml
- 与任何元素的 .innerHTML 属性匹配的 JavaScript 正则表达式
- 什么是输入元素上的innerHTML
- 如何通过搜索innerHTML的内容来获取HTML元素
- 如何在单击时切换元素的innerHTML
- 获取包装's的innerHTML,包括用户在输入元素中输入的值
- Protractor:在innerhtml的基础上获取元素
- 将一个元素中的innerHTML替换为另一个具有Javascript的innerHTML
- jquery 函数不适用于通过 innerHTML 写入的元素
- 动态获取