javascript - 使用 Vuefire 检索 Vuejs 中的 Firebase 数据

标签 javascript firebase firebase-realtime-database vue.js vuefire

我的 firebase 数据库具有这种树结构。

enter image description here

我使用 vue-fire 循环访问数据库。我想检索名称属性中的“CantFindMe”值。我的文件如下所示:

// Dashboard.vue
<template>

<div class="">
  <ul>
    <li v-for="personName in names" v-bind:key="personName['.key']">
      <div v-if="!personName.edit">

        <p>{{ personName.forms.step1 }}</p>

        </div>
    </li>
    </ul>
</div>
</template>

<script>

import { namesRef} from '../firebase.js'

export default {
  name: 'app',
  data () {
    return {
      name: ''
    }
  },
  firebase: {
    names:  namesRef
  }
}
</script>

// Firebase.js

  { The usual firebase config }
  {...}
  export const firebaseApp = firebase.initializeApp(config)
  export const db = firebaseApp.database()
  export const namesRef = db.ref('names') 

我设法读取对象:{ "-KxrySGBHgLvw_lPPdRA": { "edit": false, "name": "CantFindMe"} }

但是当我尝试在“.step1”之后添加“.name”时,应该返回“CantFindMe”,但我什么也没得到/空白。

如何使用 VueJs 访问 name 属性以返回“CantFindMe”?

最佳答案

抱歉耽搁了,我没有使用 vuefire...所以,首先 - 不要仅引用名称,而是直接引用步骤 1:

export const namesRef = db.ref('names/EcoClim/forms/step1/')

您将获得如下结构:

[{
  ".key": "-KxrySGBHgLvw_lPPdRA",
  "edit": "false",
  "name": "CantFindMe"
},  {
  ...
}]

现在您可以在模板中使用它,但作为键,请引用数组索引而不是 FBase 键:

<li v-for="(person, idx) in names" :key="idx">
  <div v-if="!person.edit">
    <p>{{ person.name }}</p>
  </div>
</li>

关于javascript - 使用 Vuefire 检索 Vuejs 中的 Firebase 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47064624/

相关文章:

javascript - 在 "document.createElement"周围包裹一个 div

javascript - 使用 jQuery 选择文本输入框中的特定位置

java - 为特定键和日期时间添加值

javascript - 如何处理firebase中过期的用户ID token ?

java - 未获取 Firebase 数据库生成的唯一 ID

json - Flutter实时数据库onValue解析

javascript - jqGrid 对多列使用相同的数据字段

javascript - "GET"MSIE 9 中的 AngularJS 资源返回空数组

ios - 项目pod文件中自动添加了Firebase相关的pod,我没有在pod文件中指定

ios - 使用值(forKey : String) gives an error