我不会理解为什么我的数组没有定义。 TypeError:无法读取未定义的属性“groups”
但我在data()中返回数组:
我是firebase的初学者:) 有人可以帮帮我吗?
<template>
<div class="bet">
<h1>bet part</h1>
</div>
</template>
<script>
import firebase,{ functions } from 'firebase'
var config = {
...
};
let app = firebase.initializeApp(config);
let db = app.database();
export default {
name: 'Bet',
data () {
return {
groups: []
}
},
created(){
db.ref('groups').on("value", function(snapshot) {
snapshot.forEach(function(data) {
let group = data.val()
group.key = data.key
this.groups.push(group)
});
})
}
}
</script>
答案 0 :(得分:2)
this
不是Vue实例。您可能想要这样做:
created() {
var vm = this
db.ref('groups').on("value", function(snapshot) {
snapshot.forEach(function(data) {
let group = data.val()
group.key = data.key
vm.groups.push(group)
});
})
或改为使用箭头功能!
created() {
db.ref('groups').on("value", (snapshot) => {
snapshot.forEach(function(data) {
let group = data.val()
group.key = data.key
this.groups.push(group)
});
})