我有下一个聚合物元素:
<link rel="import" href="../../lib/polymer/polymer.html">
<polymer-element name="ss-timeline" attributes="musicChooser photoSelector">
<template>
<div></div>
</template>
<script type="text/javascript">
(function() {
"use strict";
Polymer('ss-timeline', {
created: function(){
this.musicChooser = this.musicChooser || {};
this.photoSelector = this.photoSelector || {};
},
ready: function () {
console.log(this.musicChooser, this.photoSelector);
},
musicChooserChanged: function(oldVal, newVal) {
console.log('musicChooserChanged', oldVal, newVal);
}
});
})();
</script>
</polymer-element>
所以我必须像这样进入 musicChooser 和 photoSelector 节点对象:
<ss-music-chooser id="musicChooser"></ss-music-chooser>
<ss-timeline musicChooser="{{$.musicChooser}}"></ss-timeline>
但是在控制台输出中我得到了:
Object {} Object {}
如何通过属性传递Node对象?请帮忙。
P.S。我看到核心下拉列表具有相同的 relatedTarget 属性:
<core-icon-button id="trigger" icon="menu"></core-icon-button>
<core-dropdown relatedTarget="{{$.trigger}}">
<core-menu>
<core-item>Cut</core-item>
<core-item>Copy</core-item>
<core-item>Paste</core-item>
</core-menu>
</core-dropdown>
所以这应该在理论上有用......
P.P.S。顺便说一句,如果我传入属性musicChooser =&#34; 123&#34;我在我的元素中得到它。但由于某种原因忽略了节点对象。
答案 0 :(得分:0)
你改变的观察者应该工作,here's an example。
我想知道问题是否与您使用automatic node finding有关。 $
只能在另一个Polymer元素内部工作(也可能在自动绑定模板中,但我需要仔细检查)。