我想从javascript代码中获取我从firebase获得的对象列表,以及纸质菜单中纸质项目的“items”属性。这是我的代码:
HTML:
<paper-menu class="menuList" id="disciList" attrForSelected="value" selectedItems="{{selectionDisci}}" multi>
<template is="dom-repeat" items="{{disciplines}}">
<paper-item value="{{item.name}}">{{item.name}}</paper-item>
</template>
</paper-menu>
使用Javascript:
var disciplines = [];
var i = 0;
var disciRef = db.ref(exercises.node + exercises.discinames);
disciRef.once("value").then(function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var key = childSnapshot.key;
disciplines["name" + i] = childSnapshot.key;
i++;
});
});
我正确地获得了列表,但是我无法弄清楚如何在纸质项目中加载{{items.name}}加上“i”(0-1-2-3 ...)的值。如果有另一种加载动态列表的方法,我愿意学习。
谢谢。
答案 0 :(得分:1)
使用属性绑定到数组。然后将列表设置为该数组属性。
Polymer({
is: 'custom-element',
properties: {
disciplines:
type: Array,
value: []
}
loadItem: function(){
//finish loading items to var disciplines then
this.set('disciplines', disciplines);
}
})
您可以在index
内使用dom-repeat
来打印&#39; i&#39;
<paper-item value="{{item.name}}">{{index}} {{item.name}}</paper-item>
还阅读dom-repeat here的文档。