我知道 Firebase 异步返回数据,所以我实际上将变量放在了once()
函数中。但我无法访问名为whatever
. 在写这个问题时,我还想我可以尝试将 firebase 数据直接设置为data()
.
我的问题是如何在 VueJS data() 函数中传递数据,以便在用户刷新或重新登录数据时填充这两个不同选项中的输入字段?
<template lang="html">
<div class="">
<label for="">Name</label>
<input id="nameId" type="text" v-model="name" />
</div>
</template>
export default {
name: 'app',
data () {
return {
name: '',
}
},
methods:{
var whatever = [];
var query = dbRef.orderByKey();
query.once('value')
.then(function (snapshot) {
snapshot.forEach(function(childSnapshot) {
var childData = childSnapshot.child('name').val();
this.whatever.push(childData);
// Option 1: use out of scope
this.name = whatever;
// Option 2: directly populate data
this.name = childData;
});
});
}