defineOptions()

Declares component options like name or inheritAttrs in <script setup>.

Since Vue 3.3 Spec ↗

Syntax

defineOptions({ name, inheritAttrs, ... })

Parameters

NameTypeRequiredDescription
options object No Component options excluding props/emits/expose/slots.

Returns

void — Nothing; sets component-level options.

Examples

<script setup lang="ts">
defineOptions({
  name: 'UserCard',
  inheritAttrs: false,
});
</script>

Notes

defineOptions lets you set options that previously required a separate `<script>` block, such as `name` (useful for devtools and recursive components) and `inheritAttrs`. It is a compiler macro with no import and cannot declare props or emits (use defineProps/defineEmits).