2017-08-07 10 views
1

URLのIDに基づいてfirebase参照を動的に設定しようとしています。私はVueとVueFireを使用しています。私のコードは次のとおりです:ルートIDからのFirebaseリファレンス

<template> 
    <v-container> 
    <h4>name: {{anObject.name}}</h4> 
    </v-container> 
</template> 

<script> 
    import Vue from 'vue' 
    import db from '@/js/firebase.js' 

    export default { 
    props: ['id'], 
    firebase: { 
     anObject: { 
     source: db.ref(this.getPath), 
     //source: db.ref('path/id'), 
     asObject: true, 
     cancelCallback: function() {console.log("Cancel")}, 
     readyCallback: function() {console.log("Ready")} 
    }, 
    computed: { 
    getPath() { 
     return 'path/' + this.id 
    } 
    } 
</script> 

現時点では、「anObject」オブジェクトはデータを生成しません(エラーは発生しません)。パスをハードコードすると(現在コメントアウトされています)、すべてが期待通りに機能します。私は、問題はidプロパティに関連していると思う 'anObject'が作成された時点で値を持っていない?ライフサイクルフックでリファレンスを更新できますか?

答えて

2

OK回答はhereです。基本的に私は、作成されたフックを待ってから参照を定義する必要がありました(どこにも定義しないことに注意してください)。

created() { 
    this.$bindAsObject('anObject', db.ref('path/' + this.$route.params.id)) 
    }, 
関連する問題