Javascript RangeError:使用快照实时Firebase JSON数据填充数据时超出了最大调用堆栈大小
我试图用实时Firebase数据库中的JSON数据填充“结果”数组,但我得到了 RangeError:超出了最大调用堆栈大小 至少有两个孩子Javascript RangeError:使用快照实时Firebase JSON数据填充数据时超出了最大调用堆栈大小,javascript,json,firebase,vue.js,firebase-realtime-database,Javascript,Json,Firebase,Vue.js,Firebase Realtime Database,我试图用实时Firebase数据库中的JSON数据填充“结果”数组,但我得到了 RangeError:超出了最大调用堆栈大小 至少有两个孩子 资料 {{result.Speed} 从“@/firebase/init”导入数据库 从“firebase”导入firebase 导出默认值{ 数据(){ 返回{ 结果:[ ], 搜索:“” } }, 方法:{ }, 创建(){ //引起问题的线路 firebase.database().ref().on('value',(snapshot)=>{thi
资料
{{result.Speed}
从“@/firebase/init”导入数据库
从“firebase”导入firebase
导出默认值{
数据(){
返回{
结果:[
],
搜索:“”
}
},
方法:{
},
创建(){
//引起问题的线路
firebase.database().ref().on('value',(snapshot)=>{this.results=JSON.stringify(snapshot.val());
});
},
安装的(){
console.log(firebase.auth().currentUser)
}
}
请回答正确的代码,以便正确地在“results”数组中输入JSON,然后打印该JSON的每个文档。您是否试图一次读取整个数据库?是,我想将所有JSON数据存储在我的“结果”数组中,然后将其打印到屏幕上。这可能是一个巨大的数据量,并且会淹没设备。你能一次读一本吗,或者一次读10本吗?此外,向用户显示如此多的数据也可能会让他们不知所措,因此较小的可管理数据块可能是更好的选择。
<template>
<div id="show-results">
<h1>Data</h1>
<input type="text" v-model="search" placeholder="search results" />
<div v-for="result in results" class="single-result">
<h2>{{ result.Speed }}</h2>
</div>
</div>
</template>
<script>
import db from '@/firebase/init'
import firebase from 'firebase'
export default {
data () {
return {
results: [
],
search: ''
}
},
methods: {
},
created() {
// Issue causing line
firebase.database().ref().on('value', (snapshot) => { this.results = JSON.stringify(snapshot.val());
});
},
mounted(){
console.log(firebase.auth().currentUser)
}