Javascript 将副本推送到Firebase

Javascript 将副本推送到Firebase,javascript,firebase,vue.js,Javascript,Firebase,Vue.js,我试图将一个对象的15个副本推送到Firebase节点,该节点是一个数组。正在推送的对象包含questionText和answerText对象。我没有为这个特定的部分编写代码,所以我遇到了一些麻烦 在firebasequizText中,是一个数组 下面在submitQuiz方法下的方法部分的第125行,我尝试将结果的15个副本放入quizText数组中,但它表示未定义quizText。我应该做些什么不同的事情 从“../db”导入数据库; 从“../components/ResourceCar

我试图将一个对象的15个副本推送到Firebase节点,该节点是一个数组。正在推送的对象包含questionText和answerText对象。我没有为这个特定的部分编写代码,所以我遇到了一些麻烦

在firebase
quizText
中,是一个数组

下面在submitQuiz方法下的方法部分的第125行,我尝试将结果的15个副本放入
quizText
数组中,但它表示未定义
quizText
。我应该做些什么不同的事情

从“../db”导入数据库;
从“../components/ResourceCard”导入ResourceCard
从“../components/FlashCard”导入FlashCard//提交答案后显示信息
从“../components/Question”导入问题
从“vuex”导入{mapTranslations,mapGetter,mapState,mapActions}
导出默认值{
名称:'测验',
组件:{
资源卡,
抽认卡,
问题:
},
火基(){
返回{
资源:{
来源:db.ref('resources/'+this.$route.params.resourceId),
A对象:正确
},
};
},
数据(){
这是.store.commit('resetForm');
返回{
选项:{
lightResource:没错
},
showLearn:没错,
resourceId:this.$route.params.resourceId,
通过的资源:[],
回答的问题:[],
resourceLink:window.location.href
};
},
创建(){
设passedRes=this.$firebaseRefs['passedResources']=db.ref('/users/'+this.$store.state.userInfo.uid+'/passedResources');
让answeredQuestions=this.$firebaseRefs['answeredQuestions']=db.ref('/users/'+this.$parent.$store.state.userInfo.uid+'/answeredQuestions');
这是$bindAsArray('passedResources',passedResources');
这是。$bindAsArray(“回答的问题”,回答的问题);
//交换按钮
this.showLearn=false;
},
计算:{
…地图状态({
答案:state=>state.quick.answeredQuestions,
已提交:state=>state.quick.submittedStatus,
selectedCount:state=>state.quick.result.selectedCount,
结果:state=>state.quick.result
}),
分数(){
if(this.resource.quick==未定义)返回;
让isAnswer=(option)=>option.isAnswer==true;
让totalCorrectAnswers=0;
this.resource.quick.forEach((问题)=>{
totalCorrectAnswers+=question.options.filter(isAnswer).length;
});
let selected=this.selectedCount;
让不正确计数=(选定>totalCorrectAnswers)?选定-totalCorrectAnswers:0;
让correctCount=this.result.correctIds.length;
let amount=correctCount-incorrectCount;
如果(金额<0){
金额=0;
}
返回{
数量
总计:totalCorrectAnswers//total correct Answers count-用于计算邮件
};
}
},
方法:{
submitQuiz(){
此.store.commit('displayAnswers');
让getCorrectAnswerText=()=>{
让结果={}
this.result.correctIds.forEach(({quizIndex,index})=>{
让quick=this.resource.quick[quizIndex];
result[quizIndex]=result[quizIndex]| |{};//默认为空obj。
//试图在这里复制。
赋值(结果[quizIndex]{
问题文本:quick.text,
summaryText:quick.summaryText,
[索引]:{
文本:测验。选项[索引]。文本
}
});
});
返回{
[此.resource['.key']]:{
quizText:quizText(15).填充(结果)
}
};
};
如果(!this.options.testMode){
此.$nextTick(函数(){
//延迟到下一个滴答声,所以我们有最新的计算值
console.log(this.score);
if(this.score.amount==this.score.total){
//100%回答
//提交时分数达到100%时,将特定资源对象推送到“/users/`+userInfo.uid+`/passedResources”节点下的Firebase。
//console.log('100%应答',此为.$store.state.userInfo.uid)
让我们通过;
//在passedResources中保存已回答的测验
//如果所有问题都已回答或分数=100%,则更新时间已过
//log('incPassedResource',this.resource);
this.$store.commit('incPassedResource',this.resource);//更新存储
//log('after mutation',this.$store.state.passedResources);
passedRes=this.$store.state.passedResources;
此.firebaseRefs.passedResources.set(passedRes);
//在user/uid/answeredQuestion/resourceID中将answeredQuestion另存为文本
设answerData=getCorrectAnswerText();
//console.log('answeredQuestions',answerData);
此.$firebaseRefs.answeredQuestions.set(answerData);
//无需更新存储-->将加载到研究组件中的状态
//-->所有问题均已回答-资源上传递的增量时间
让totalTimesPassed=parseInt(this.resource.timesPassed);
totalTimesPassed++;
//尚未工作-->需要加载resource,inc.的Timepassed并保存回。或者可能使用firebase的增量
这个.$firebaseRefs.resource.child('timepassed').set(totaltimepassed);//todo firebase inc.在这里很方便!
}
});
}
}
}
}而不是:

quizText: quizText(15).fill(result)
我想你的意思是:

quizText: Array(15).fill(result)