ご質問拝見いたしました。
「クリックしたdoc()のindex番号取得」をする場合、Message.vue自体をループで作成しているため、
Message.vueをループしているMessageList.vueコンポーネントからindexをpropsで渡してあげれば解消されるのではないでしょうか?
MessageList.vue
Vue
1<template>
2 <div class="message-list">
3 <!-- <client-only> -->
4 <template v-for="(message, index) in messages">
5 <Message
6 :key="index"
7 :time="message.time"
8 :body="message.body"
9 :date="message.date"
10 :tag="message.tag"
11 :i="index" // indexの受け渡し
12 />
13 </template>
14 <!-- </client-only> -->
15 </div>
16</template>
Message.vue
Vue
1export default {
2 props: {
3 time: {
4 type: Number,
5 required: true
6 },
7 body: {
8 type: String,
9 required: true
10 },
11 date: {
12 type: String,
13 required: true
14 },
15 tag: {
16 type: Array,
17 required: true
18 },
19 i: {
20 type: Number,
21 required: true
22 }
23 },
24 methods: {
25 async onDelete() {
26 try {
27 console.log(this.i); // thisでiを取得(MessageListコンポーネントのindexを取得できます。)
28 // 以下略
29 } catch (error) {
30 console.error(error)
31 }
32 }
33 }
34}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/04 07:30
2021/02/04 09:14
2021/02/04 09:50 編集
2021/02/04 09:55
2021/02/04 09:59
2021/02/04 10:42