0

Polymerfire の firebase-query を使用して、配列内の各 ID の子のリストを取得しようとしています。3 つの ID と、次のような firebase-query を持つ配列があります。

<firebase-query id="teamContacts"
                path= "{{teamConPath}}"
                data="{{teamConData}}"></firebase-query>

そして、次のようないくつかのオブザーバー:

teamConData: {
  observer: '_teamConDataChanged'
},
teamConPath: {
  value: '',
  observer: '_teamConPathChanged'
},

_teamConPathChanged: function(newValue, oldValue) {
  var self = this;
  if (!app.isEmpty(newValue)) {
    this.$.teamContacts.getStoredValue(newValue).then((response) => {
      // self.teamConData = value;
      console.log('in the gsv then');
    });
    console.log('teamConData: ', this.teamConData);
  }
},
_teamConDataChanged: function(newValue, oldValue) {
  console.log('teamConChanged', newValue);
},

最初のパスteamContactsは null です。パスを設定した後、データを取得して操作する方法がわかりません。Firebase のドキュメントには呼び出されたメソッドが示されていますgetStoredValue()が、そのメソッドは Github の firebase-query ソースには存在しないようです。新しいパスを設定するとデータが取得され、データのオブザーバーがトリガーされると思いましたが、そうではないようです。firebase-query で新しいパスを使用して再クエリを実行し、非同期でデータを操作するにはどうすればよいですか?

4

2 に答える 2

0

teamConDataオブジェクトなので、次のようなオブザーバーを作成します

observers: ['_teamConDataObserver(teamConData.*)'],
_teamConDataObserver: function(changedData) {
    // do something with the data
}

このポリキャストを見ることをお勧めします。参考になるかもしれませんhttps://youtu.be/m1hFhDYDY6o?t=4m35s

于 2016-10-18T14:57:26.340 に答える