1.6 KiB
title | description | links | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
defineNuxtComponent | defineNuxtComponent() is a helper function for defining type safe components with Options API. |
|
::note
defineNuxtComponent()
is a helper function for defining type safe Vue components using options API similar to defineComponent()
. defineNuxtComponent()
wrapper also adds support for asyncData
and head
component options.
::
::note
Using <script setup lang="ts">
is the recommended way of declaring Vue components in Nuxt 3.
::
:read-more{to=/docs/getting-started/data-fetching}
asyncData()
If you choose not to use setup()
in your app, you can use the asyncData()
method within your component definition:
<script lang="ts">
export default defineNuxtComponent({
async asyncData() {
return {
data: {
greetings: 'hello world!'
}
}
},
})
</script>
::warning
Data from useAsyncData
is only set once in the setup
hook of your component. This means refreshNuxtData
will not work with asyncData
. If you need to re-run useAsyncData
, you can change it with a method
of the Option API.
::
head()
If you choose not to use setup()
in your app, you can use the head()
method within your component definition:
<script lang="ts">
export default defineNuxtComponent({
head(nuxtApp) {
return {
title: 'My site'
}
},
})
</script>