我正在尝试构建一个具有指定哪个元素应该发生此元素的属性的元素。聚合物:创建一个“通用”自定义元素
我有我使用FO这个目的,在index.html的被定义为一个3D卡翻盖元素:
<html>
<head>
<script src="bower_components/webcomponentsjs/webcomponents.js">
</script>
<link rel="import" href="elements/general-element.html">
</head>
<body>
<general-element
name="card-flip"
address="elements/card-flip.html">
<front>
FRONT
</front>
<back>
BACK
</back>
</general-element>
</body>
</html>
的一般element.html这里定义:
<link rel="import"
href="../bower_components/polymer/polymer.html">
<polymer-element name="general-element" attributes="name address">
<template>
<div id="element_here">
</div>
</template>
<script>
function addElementToDOM(element_name, _that) {
var elem = _that.shadowRoot.querySelector("#element_here");
add_elem = document.createElement(element_name);
elem.appendChild(add_elem);
}
Polymer ('general-element', {
ready: function() {
if (
(this.address != undefined) &&
(this.name != undefined)) {
Polymer.import(
[this.address],
addElementToDOM(this.name, this)
);
}
}
});
</script>
</polymer-element>
警告:输出是空白,并在控制台中出现错误,说卡片翻转时的属性是在Polymer升级元素之前绑定的数据。这可能会导致不正确的绑定类型。
这可以以任何方式实现吗?
感谢您的帮助,我也从您的观察中学到了新东西。我之所以需要这样的通用元素,是因为项目的前端将根据提供的数据和用户操作动态更改。 – 2015-02-11 17:07:51
好的,很高兴听到答案是有帮助的。 – mudasobwa 2015-02-11 17:14:15