我正在使用Vue.js和Django REST Framework编写餐厅评论应用程序。 用户可以在评论中“发布”图片。
一旦用户单击addReview () {
let endpoint = `/api/restaurant_review/`;
let method = "POST";
apiService(endpoint, method, { maps: this.$route.params.maps, review_author: 1 })
.then(res => {
let review_id = res.id
console.log(review_id)
return review_id
})
},
按钮,就会触发此功能:
review_id
所以我也从回应中得到了<ReviewEditor
:id= "review_id"/>
。我将其传递给用户可以通过这种方式上传图片的其他组件:
data()
在我的review_id: 0,
中,我有:
props: {
id: {
type: Number,
required: true
},
}
因此,在我的ReviewEditor组件中,我得到这样的ID:
onUpload() {
const fd = new FormData();
let axiosConfig = {
headers: {
'X-CSRFTOKEN': CSRF_TOKEN,
}
};
fd.append('picture_1', this.selectedFile)
fd.append('restaurant_review', this.id)
axios.post('http://127.0.0.1:8000/api/outside_pic/', fd, axiosConfig)
.then(res => {
console.log(res)
})
}
然后:
id
如果我手动传递this.id
,我的onUpload()函数会很好地工作,但是如果我动态地使用'restaurant_id' = 0
进行操作,则会收到一条错误消息,告诉我review_id: 0,
,因此不存在。我也尝试过{{1}},但也没有运气。