我有一个聚合物元素,我可以在其中声明一个数组并使用它如下。
...
<template repeat="{{chapters as chapter}}">
<core-submenu id='{{chapter.id}}-core-submenu' label="{{chapter.label}}">
</core-submenu>
</template>
...
Polymer('app-element', {
chapters: [{id: one, label: one}, {id: two, label: two}],
...
somethingChanged : function(){
this.$[this.chapter.id + '-core-submenu']
}
...
}
如果我填写上面的章节对象,它会按预期工作。
我想从外面看这章。然后我做以下事情:
var app = document.querySelector('#app');
window.addEventListener('polymer-ready', function() {
app.chapters = [{id: one, label: one}, {id: two, label: two}];
});
如果我这样做,那么。$ [this.chapter.id +&#39; -core-submenu&#39;]现在为空。我想这是因为这个。$在聚合物就绪事件被触发之前被填充。
有意义吗?哪个是现在访问此元素的最佳做法?我希望仍然可以通过它访问它。$。
最佳尼古拉斯
答案 0 :(得分:0)
我建议将此属性公开为聚合物属性,然后使用setAttribute
从外部访问该属性window.addEventListener('polymer-ready', function() {
var app = document.querySelector('#app');
app.setAttribute('chapters',[{id: one, label: one}, {id: two, label: two}]);
});