将道具传递到Vue.js中的另一个组件

时间:2020-08-17 02:02:54

标签: javascript vue.js

我正在使用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}},但也没有运气。

0 个答案:

没有答案