こちら記事の下記コードで分からない箇所がありました為、お聞きしたいです
<script setup lang="ts"> interface Emits { (e: "input", value: string): void; (e: "update:value", value: string): void; } const emit = defineEmits<Emits>(); const handleInput = ({ target }: { target: HTMLInputElement }) => { emit("input", target.value); emit("update:value", target.value); }; </script> <template> <label> {{ label }} <input :class="disabledClass" :value="value" :type="type" :placeholder="placeholder" :disabled="disabled" @input="handleInput" /> </label> </template>
1点目ですが、interface Emits
に指定している(e: "input", value: string)
こちらの部分が何を指しているかが分からないです。:
横のvoid
は戻り値(何も返さない)ことを指定しているとの認識おります。
2点目ですが、handleInput
関数のemit()
部分はemit関数の呼び出しだと理解しているのですが、({ target }: { target: HTMLInputElement })
こちらの波括弧で括られた記法がどのような意味になるかが分からない状況です。
どなたかご助言頂けましたら幸いです
※追記です。
2点目につきましては、そもそもtarget
やHTMLInputElement
がどこから来たのかが不明な状況です
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。