## 結論
[[IDE]]で対応されるまで`<template>`の中は諦めよう。
## ひとりごと
[[Vue]]の型補完はやっぱ中途半端だ..。Object型は`computed`の`value`を取り出して渡すとtemplateでも補完できる..が、primitiveは参照ではなく実体が渡るので連動しなくなる。
```ts
setup() {
const users = computed(() => userStore.users)
const userCount = computed(() => users.value.length)
const handleClickAddUser = () => {
const newId = userCount.value + 1
userStore.add({ id: newId, name: `User${newId}` })
}
return {
// primitiveでなければいけるが..
users: users.value,
// primitiveはダメ
userCount,
handleClickAddUser,
}
},
```
また、Object型でも初期値が`null`や`undefined`の場合、templateには参照が伝わらないため変更を検知できない。