我正在嘗試構建一個具有指定哪個元素應該發生此元素的屬性的元素。聚合物:創建一個「通用」自定義元素
我有我使用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