有時候我們需要動態地將自定義元素添加到上下文中。然後:動態插入的聚合物元素中的數據綁定
插入的聚合物可以接收綁定到上下文內的另一個 屬性某些屬性,所以可以相應地改變。
在聚合物0.5處,我們可以使用PathObserver將屬性綁定到最近添加的組件的 上下文屬性。但是,我沒有 在聚合物1.0處找到解決方法或等價物。
我已經爲0.5創建了一個例子,並且對於1.0也是如此。請參閱下面的注射聚合物代碼。你也可以看到完整的深入實例。
EJ 0.5:
<polymer-element name="main-context">
<template>
<one-element foo="{{foo}}"></one-element>
<div id="dynamic">
</div>
</template>
<script>
Polymer({
domReady: function() {
// injecting component into polymer and binding foo via PathObserver
var el = document.createElement("another-element");
el.bind("foo", new PathObserver(this,"foo"));
this.$.dynamic.appendChild(el);
}
});
</script>
</polymer-element>
請參閱完整plunkr例如:http://plnkr.co/edit/2Aj3LcGP1t42xo1eq5V6?p=preview
EJ 1.0:
<dom-module id="main-context">
<template>
<one-element foo="{{foo}}"></one-element>
<div id="dynamic">
</div>
</template>
</dom-module>
<script>
Polymer({
is: "main-context",
ready: function() {
// injecting component into polymer and binding foo via PathObserver
var el = document.createElement("another-element");
// FIXME, there's no a path observer: el.bind("foo", new PathObserver(this,"foo"));
this.$.dynamic.appendChild(el);
}
});
</script>
請參閱完整plunkr例如:http://plnkr.co/edit/K463dqEqduNH10AqSzhp?p=preview
你知道一些解決方法或與聚合物1.0等效嗎?
謝謝,這是非常有用:) – recluising
這變得有點怪異與陣列接頭,雖然反對的變化.. – pdelanauze