Firebase-Polymer数组代码问题

时间:2016-09-20 06:09:58

标签: firebase-polymer

这个函数将循环,每个循环key1和key2都会改变...问题是数据库结果是一个数组不会获得密钥的每个数据,它只会记录最后的数据。

GettingData: function(key1,key2){
       var list=[];
       console.log('Getting Data of '+key2);
       var ref = firebase.database().ref('/users/'+key1+'/products/'+key2).orderByKey().equalTo('name');
       ref.on('child_added', function(data) {
       console.log(data.val());
       list.unshift(data.val());
       this.databaseresult = list;
       console.log('Productdata of '+ key1 +' is LOADED');
       console.log('pushing to array '+list);
       console.log(this.databaseresult);
       this.$.results.products = this.databaseresult;
       }.bind(this));
       },

1 个答案:

答案 0 :(得分:0)

如果您希望通知任何观察者,请在更改属性时使用this.set('propertyName', value);。此外,当您使用当前代码设置this.$.results.products = this.databaseresult;时,即使使用Polymer.set方法也不会更新加号,您将不会是我认为您期望的数据绑定,因为这需要使用聚合物数据绑定语法IE {{ 1}}。至少据我所知,您可以手动强制它。通过调用<x-element products="{{databaseresult}}"></x-element>事件。

this.fire('databaseresult-changed');