# 组合式 API
::: warning 注意
- 暂不支持 `
```
### 示例 @example
示例 [详情]()
::: preview
:::
## 单文件组件中方法兼容性 @single-file-component-script-methods
### defineProps()
仅支持数组字面量、对象字面量定义(等同于 `options` 中的 `props`规则)及使用纯类型参数的方式来声明。
#### 示例
[详情]()
::: preview
:::
### defineEmits()
仅支持数组字面量和纯类型参数的方式来声明。
```ts
// 数组字面量
const emit = defineEmits(['change'])
// 纯类型参数
const emit = defineEmits<{
(e : 'change', id : number) : void
}>()
const emit = defineEmits<{
// 具名元组语法
change : [id: number]
}>()
```
#### 示例
[详情]()
::: preview
:::
### defineOptions()
仅支持对象字面量方式定义。
```ts
defineOptions({
data() {
return {
count: 0,
price: 10,
total: 0
}
},
computed: {
doubleCount() : number {
return this.count * 2
},
},
watch: {
count() {
this.total = this.price * this.count
},
},
methods: {
increment() {
this.count++
}
}
})
```
#### 示例
[详情]()
::: preview
:::
### defineExpose()
使用 `