2017-04-05 8 views
0

사용자 지정 동작 내에서 동적으로 작성된 firebase-document 요소를 사용하여 데이터를 가져 오려고합니다.Polymer 1.x : 사용자 정의 동작 내에서 필수적으로 firebase-document를 사용하여 데이터를 가져 오는 방법

다음 코드가 있습니다. 첫 번째 console.log 로그가 예상대로 올바르게 기록됩니다. 그러나 두 번째 사람은 아무 것도 기록하지 않습니다. 내가 어디로 잘못 가고 있니?

내-behavior.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); 
}, 

답변

3

I 좋겠 강하게 그냥이 대신의 중포 기지 JS SDK를 사용하는 것이 좋습니다 : 당신은 firebase-app을 가지고

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()); 
    }); 
} 

당신은 너무 오래 SDK를 사용할 수 있습니다 계획. 이 예에서는 name 속성을 firebase-app에서 생략해야하지만 예를 들어 다음과 같이 할 수도 있습니다. firebase.app('app').database().ref() 대신

+0

'name' 속성을 사용하여 예제를 포함 시켰을 때의 특별한 명성. – Mowzer