0

我正在尝试使用firebase-document自定义行为中的动态、命令式创建的元素来获取数据。

我有以下代码。请注意第一个console.log按预期正确记录的日志。但第二个从不记录任何内容。我哪里错了?

我的行为.html
<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../bower_components/polymerfire/polymerfire.html">
...
getUserLocalSeries: function(uid) {
  var doc = document.createElement('firebase-document');
  var path = ['users', uid, 'local'].join('/');
  doc.appName = 'app';
  doc.path = path;
  var _this = this;
  console.log('path', path); // Logs fine
  doc.addEventListener('response', function(e) {
    console.log('doc', doc.lastResponse); // Doesn't log
    _this.set('userLocalSeries', doc.lastResponse);
  });
  this.set('userLocalSeries', doc.data);
},
4

1 回答 1

3

我强烈建议只使用 Firebase JS SDK 来代替:

getUserLocalSeries: function(uid) {
  var path = ['users', uid, 'local'].join('/');
  var _this = this;
  firebase.database().ref(path).on('value', function(snap) {
    _this.set('userLocalSeries', snap.val());
  });
}

只要firebase-app您的项目中有 SDK,您就可以使用 SDK。此示例要求您省略 中的name属性firebase-app,但您也可以firebase.app('app').database().ref()改为使用 eg。

于 2017-04-05T19:28:31.023 回答