前に書いたメモが役立った、defineComponent のジェネリクス
前に書いたメモを読んだら理解した
number 型を Number と書いている件について、6/3の自分の書いたメモを読み直したら理解できた。6/3 の自分ありがとう……。
こういうときにこういう細かいことを書いておいて(わかりやすい場所に公開しておいて)よかったなあと感じる。
defineComponent のジェネリクス
10/25に defineComponent のジェネリクスのことを書いた。
props の型定義を渡せる、みたいなことを書いたんだけど、これまた最近(11/05)に書いた Vetur の定義が効かない件に関係していた。
defineComponent のジェネリクスで props の定義を消したら、template の型の補完が効くようになった。
これは直接の原因は分からないんだけど、defineComponent に props の型定義しか存在しなくて、他の値が any と推論されたのかな?
defineComponent にちゃんと setup で返す値の型を定義してあげたら補完されるようになるのかな〜とか思ったりした。
逆にジェネリクスになんの型も渡さないことで setup の return の値が参照されていたとしたら、むしろ余計なことをしていたのかもしれない……。