Javascript 如何引用firebase子节点中的数据?

Javascript 如何引用firebase子节点中的数据?,javascript,firebase,vue.js,vuefire,Javascript,Firebase,Vue.js,Vuefire,我正在尝试使用for循环引用firebase数据库的子节点。我正在使用Vue和Vue fire。问题是在下面的代码中,categories[addItem.category]没有引用正确的数据 <el-select v-model="addItem.category" placeholder="Select a category." id="category-select"> <el-option v-for="(val, key) in categories"

我正在尝试使用for循环引用firebase数据库的子节点。我正在使用Vue和Vue fire。问题是在下面的代码中,
categories[addItem.category]
没有引用正确的数据

<el-select v-model="addItem.category" placeholder="Select a category." id="category-select">
    <el-option
    v-for="(val, key) in categories"
    :key="val['.key']"
    :label="val['.key']"
    :value="val['.key']">
    </el-option>
</el-select>    
<el-button @click="showAdd=true">new category</el-button>
<el-select v-model="addItem.subcategory" placeholder="Select a subcategory." id="subcategory-select" v-show="addItem.category!=''">
    <el-option
    v-for="subcat in categories[addItem.category]"
    :key="subcat['.key']"
    :label="subcat['.key']"
    :value="subcat">
    </el-option>
</el-select>
<el-button v-show="addItem.category!=''" @click="showAdd=true">add subcategory</el-button>      
其中引用了以下数据:

data(){ return {
         addItem: {
         open: false,
         count: 0,
         category: '',
         subcategory: '',
         kks: {
             name: ''
         },
         document: {
             name: ''

         },         
         product: {

             name: ''
         },
         text: ''
             },  
}}
}

这是firebase的财产:

 firebase: function(){
 return {
     categories: db.ref('categories')

 }   

 }

  [1]: https://i.stack.imgur.com/hYZN6.png

这就是我最后做的。以下内容已添加为计算属性:

 subcategories: function(){
     if (this.addItem.category){
     var val;
     db.ref('categories/' + this.addItem.category).on('value', function(snapshot){
         val = snapshot.val();
     });
     return val;
     }
     return this.categories;
 }

不确定发生了什么,但我建议对类别[addItem.category]使用computed属性。计算:{selectedCategory(){返回this.categories[this.addItem.categority];}}}并查看。@GerardoRosciano我已经尝试过了,不幸的是它不起作用either@GerardoRosciano让它工作起来,看到我补充的答案了吗
 subcategories: function(){
     if (this.addItem.category){
     var val;
     db.ref('categories/' + this.addItem.category).on('value', function(snapshot){
         val = snapshot.val();
     });
     return val;
     }
     return this.categories;
 }