#javascript #vue.js #vue-cli
Вопрос:
я зацикливаюсь на [postArray], чтобы получить несколько сообщений, у каждого сообщения есть свой «_id». И я хочу повторно использовать этот «_id», чтобы добавить лайки к правильному сообщению.
это петля v-для:
lt;div class="posts" v-for="(element, index) in postArray" :key="index"gt; lt;pgt;{{ element.title }}lt;/pgt; lt;pgt;{{ element.content }}lt;/pgt; lt;pgt;{{ element.likes.length }}lt;/pgt; lt;button @click="addLike"gt;Add Likelt;/buttongt; lt;/divgt;
это данные, которые я хочу сохранить свой идентификатор в postID:
data() { return { title: "", content: "", postArray: [], postId: "", };
},
и это те методы, которые я хотел бы использовать _id:
async addLike() { const url = "https://dw-s3-nice-master-cake.osc-fr1.scalingo.io/post/like"; const options = { method: "POST", headers: { "Content-Type": "application/json", Authorization: "bearer " localStorage.getItem("token"), }, body: JSON.stringify({ postId: this.postId, }), }; const response = await fetch(url, options); const data = await response.json(); console.log(data); this.postId = data.posts._id; console.log(this.postId); },
также на экране консоли.log(данные):
приставка.снимок экрана журнала
[введите описание изображения здесь][2]
Ответ №1:
Попробуйте отправить _id своему методу:
lt;button @click="addLike(element._id)"gt;Add Likelt;/buttongt;
а затем получите его:
async addLike(id) { ... postId: id, ...