在我的Polymer(v1.2.3
)元素中,我需要动态地将新创建的DOM元素附加到某些本地DOM节点。我追加的元素包含class="foo"
,其中类foo
的样式位于我的聚合物元素中。
我面临的问题是这些样式不适用于元素。
以下代码将举例说明问题:
attached: function () {
var el = document.createElement("span");
el.textContent = "Woof. Woof. Meow!";
el.classList.add("foo");
Polymer.dom(this.root).querySelector(".bar").appendChild(el);
}
这是我的模板:
<dom-module id="my-element">
<template>
<style>
.foo {
color: red;
}
</style>
<div class="bar"></div>
<div class="baz"><span class="foo">I am not added dynamically!</span></div>
</template>
...
</dom-module>
在上面的模板中,.foo
中的元素.baz
会应用样式但.foo
中的元素.bar
不会(聚合物类) style-scope
不适用于它。)
其他一些信息:
style-scope
未添加到动态创建的元素中。 Polymer.dom(this.root).appendChild(el)
应用样式,但不会在所需位置添加样式。 updateStyles()
或Polymer.dom.flush()
无法解决问题。 1.2.2
也包含此问题