【问题标题】:Retrieve Firebase data in Vuejs with Vuefire使用 Vuefire 在 Vuejs 中检索 Firebase 数据
【发布时间】:2018-04-14 08:19:50
【问题描述】:

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

我使用 vue-fire 循环访问数据库。我想在 name 属性中检索“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”?

【问题讨论】:

  • 您在从 Firebase 实时数据库获取数据的过程中缺少一些必需的步骤。等待一个小时,我创建新的 Fbase 项目并为您提供工作示例作为答案。

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


【解决方案1】:

抱歉耽搁了,我没有使用 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>

【讨论】:

  • @WaldermarIce 它的作品!!!好的!但它也可以在没有绑定密钥的情况下工作。这是为什么呢?
  • @TonyRositano 密钥并不总是必要的。但是,建议用于每个 v-for 指令。 PS:请采纳我的回答。你知道......声誉很重要:)
  • @TonyRositano Thax :)
猜你喜欢
  • 1970-01-01
  • 2018-08-23
  • 2017-07-31
  • 2018-04-16
  • 2020-02-19
  • 2021-06-26
  • 2018-10-25
  • 1970-01-01
  • 2018-09-10
相关资源
最近更新 更多