我有一个Vue应用程序,其中有一个表单,您可以提交,所有提交的内容都显示在不同的页面上,可以选择删除它们或给每个提交竖起大拇指。我遇到的问题是针对每个条目thumbsUp将其递增1。例如,我有一个函数“thumbsUp”,它会在每次单击时返回return this.forms.form[1].thumbsUp++
,但我希望它能自动定位每个条目。论坛提交:
<script>
import {formRef} from '../firebase' //imports reference to form object stored in firebase
export default {
data(){
return{
submitted:false,
form:{
name:'',
state:'',
review:'',
thumbsUp: 0
},
name:'hey',
}
},
methods: {
//pushes this.form object as {form} to firebase using the formRef
submitForm(){
formRef.push({form: this.form, edit: false})
this.submitted = true
}
}
}
</script>
论坛评论页面:
<template lang="html">
<div class="" class="wrapper">
<div v-for="review of forms" class="reviews">
{{review.name}}
<h1><strong>{{review.form.name}}</strong>, from <strong>{{review.form.state}}</strong> said: </h1>
<p>{{review.form.review}}</p>
<button @click="removePost(review['.key']) "type="button" name="button">Remove Post</button>
<span >Thumbs up: {{review.form.thumbsUp}} </span>
<button @click="thumbsUp" type="button" name="button">Thumbs up!</button>
</div>
</div>
</template>
<script>
import {formRef} from '../firebase'
export default {
data(){
return{
}
},
firebase:{
forms: formRef //stores form reference inside of "forms"
},
methods:{
//takes key from child of formRef to remove post
removePost(key){
formRef.child(key).remove()
},
thumbsUp(){
return this.forms.form[1].thumbsUp++ //needs fix
}
},
}
在按钮单击功能上,传递循环的表单元素。在你的情况下,thumbsUp(review.form)
。
然后在你的thumbsUp函数中,
thumbsUp(form) {
form.thumbsUp +=1;
}