我的firebase DB具有这种树结构。
我使用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”?
答案 0 :(得分:2)
很抱歉延迟,我没有使用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>