Викторина: оплата
Нажатие на «Оплатить» должно поблагодарить клиента и сказать, сколько он заплатил, но на странице написано Спасибо! Вы заплатили €[object Object]. Нажмите на строку с ошибкой.
1<script setup>
2import { computed, ref } from "vue";
3
4const order = ref([
5 { id: 1, name: "Эспрессо", price: 2, count: 2 },
6 { id: 5, name: "Морковный торт", price: 4, count: 1 },
7]);
8const message = ref("");
9
10const total = computed(() => {
11 let sum = 0;
12 for (const item of order.value) {
13 sum += item.price * item.count;
14 }
15 return sum;
16});
17
18function pay() {
19 message.value = `Спасибо! Вы заплатили €${total}.`;
20 order.value = [];
21}
22</script>
23
24<template>
25 <h1>Кафе «Уголок»</h1>
26 <ul class="order">
27 <li v-for="item in order" :key="item.id">
28 {{ item.count }}× {{ item.name }}
29 </li>
30 </ul>
31 <p>Итого: €{{ total }}</p>
32 <button @click="pay">Оплатить</button>
33 <p class="message">{{ message }}</p>
34</template>