Всем Хай!
Пытаюсь сделать рейтинг статьи и записать его в базу, но! переменная изначально пустая и когда исполняется процедура она ещё пустая, а присваивается значение только после исполнения процедуры, т.е. как бы отрабатывает с запозданием: изначально 0, выбираем 3 -> в переменной 0, выбираем 5 -> в переменной 3 и т.д. подскажите как это лучше сделать?? Код:
<input type="radio" v-bind:name="rating" id="rating-5" v-bind:value="5" v-model.number="rating"
v-on:click="submitRating">
<label for="rating-5"></label>
<input type="radio" v-bind:name="rating" id="rating-4" v-bind:value="4" v-model.number="rating"
v-on:click="submitRating">
<label for="rating-4"></label>
<input type="radio" v-bind:name="rating" id="rating-3" v-bind:value="3" v-model.number="rating"
v-on:click="submitRating">
<label for="rating-3"></label>
<input type="radio" v-bind:name="rating" id="rating-2" v-bind:value="2" v-model.number="rating"
v-on:click="submitRating">
<label for="rating-2"></label>
<input type="radio" v-bind:name="rating" id="rating-1" v-bind:value="1" v-model.number="rating"
v-on:click="submitRating">
<label for="rating-1"></label>
NUXT:
methods: {
async submitRating(rating) {
let formData = new FormData();
for (let data in this.post) {
formData.append(data, this.post[data]);
}
console.log(rating);
let dataPost = this.post;
dataPost.rating = +dataPost.rating + this.rating;
console.log(dataPost.rating);
try {
let response = await this.$axios.$put('/posts/' + this.post.slug + '/', dataPost);
console.log(response)
} catch (e) {
console.log(e.toString())
}
}
}