環境
- Nuxt
- Nuxt Compostion API
なぜ出たのか
- 結論から言うと、Vueのテンプレート側で
router
を呼び出していたため。
修正前
<template>
<button @click="router.push('/hogehoge')">hogehogeボタン</button>
</template>
<script lang="ts">
import { defineComponent, useRouter } from '@nuxtjs/composition-api'
export default defineComponent({
setup() {
const router = useRouter()
return { router }
}
})
</script>
修正後
<template>
<button @click="toHogehoge">hogehogeボタン</button>
</template>
<script lang="ts">
import { defineComponent, useRouter } from '@nuxtjs/composition-api'
export default defineComponent({
setup() {
const router = useRouter()
// 関数で定義したものをtemplateで使う
const toHogehoge = () => {
router.push('/hogehoge')
}
return { toHogehoge }
}
})
</script>