Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-uni-app-x-zh
提交
5d4db4a6
U
unidocs-uni-app-x-zh
项目概览
DCloud
/
unidocs-uni-app-x-zh
通知
144
Star
2
Fork
33
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
9
列表
看板
标记
里程碑
合并请求
11
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-uni-app-x-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
9
Issue
9
列表
看板
标记
里程碑
合并请求
11
合并请求
11
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
5d4db4a6
编写于
1月 25, 2024
作者:
DCloud-WZF
💬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: 补充组合式 API 注意事项
上级
a7391b45
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
116 addition
and
0 deletion
+116
-0
docs/vue/README.md
docs/vue/README.md
+116
-0
未找到文件。
docs/vue/README.md
浏览文件 @
5d4db4a6
...
@@ -69,14 +69,34 @@ export function createApp() {
...
@@ -69,14 +69,34 @@ export function createApp() {
## 组合式 API @composition-api
## 组合式 API @composition-api
**注意:**
-
暂不支持
`<script setup>`
和
`<script>`
同时使用,如果需要配置
`options`
内容,比如
`name`
,可以使用
`defineOptions`
。
-
暂不支持顶层
`await`
。
-
暂不支持
`<script setup>`
配置
`generic`
泛型类型参数。
-
`App.uvue`
暂不支持组合式 API。
### 响应式: 核心
### 响应式: 核心
<!-- VUEJSON.reactivity_core.compatibility -->
<!-- VUEJSON.reactivity_core.compatibility -->
<!-- VUEJSON.reactivity_core.example -->
<!-- VUEJSON.reactivity_core.example -->
**注意:**
-
`computed`
需通过泛型指定返回值类型。
```
ts
const
count
=
ref
(
0
)
const
doubleCount
=
computed
<
number
>
(()
:
number
=>
{
return
count
.
value
*
2
})
```
### 响应式: 工具
### 响应式: 工具
<!-- VUEJSON.reactivity_utilities.compatibility -->
<!-- VUEJSON.reactivity_utilities.compatibility -->
<!-- VUEJSON.reactivity_utilities.example -->
<!-- VUEJSON.reactivity_utilities.example -->
**注意:**
-
`toRefs`
仅支持
`Array`
和
`UTSJSONObject`
, 不支持自定义类型。
### 响应式: 进阶
### 响应式: 进阶
<!-- VUEJSON.reactivity_advanced.compatibility -->
<!-- VUEJSON.reactivity_advanced.compatibility -->
...
@@ -362,6 +382,102 @@ export default {
...
@@ -362,6 +382,102 @@ export default {
<!-- VUEJSON.single_file_component_script.compatibility -->
<!-- VUEJSON.single_file_component_script.compatibility -->
**注意:**
-
`defineProps`
仅支持数组字面量、对象字面量定义(等同于
`options`
中的
`props`
规则)及使用纯类型参数的方式来声明。
```
ts
// 数组字面量
defineProps
([
'
str
'
,
'
num
'
,
'
bool
'
,
'
arr
'
,
'
obj
'
,
'
fn
'
])
// 对象字面量
defineProps
({
str
:
String
,
num
:
Number
,
bool
:
{
type
:
Boolean
,
default
:
true
},
arr
:
{
type
:
Array
as
PropType
<
string
[]
>
,
default
:
()
:
string
[]
=>
[]
as
string
[]
},
obj
:
{
type
:
Object
as
PropType
<
UTSJSONObject
>
,
default
:
()
:
UTSJSONObject
=>
({
a
:
1
})
},
fn
:
{
type
:
Function
as
PropType
<
()
=>
string
>
,
default
:
()
:
string
=>
''
}
})
// 纯类型参数
defineProps
<
{
str
:
String
,
num
:
Number
,
bool
:
Boolean
,
arr
:
PropType
<
string
[]
>
,
obj
:
PropType
<
UTSJSONObject
>
,
fn
:
PropType
<
()
=>
string
>
}
>
()
```
-
`defineEmits`
仅支持数组字面量和纯类型参数的方式来声明。
```
ts
// 数组字面量
const
emit
=
defineEmits
([
'
change
'
])
// 纯类型参数
const
emit
=
defineEmits
<
{
(
e
:
'
change
'
,
id
:
number
)
:
void
}
>
()
const
emit
=
defineEmits
<
{
// 具名元组语法
change
:
[
id
:
number
]
}
>
()
```
-
`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
++
}
}
})
```
-
`defineExpose`
仅支持对象字面量方式定义,导出的变量或方法,必须是
`setup`
中定义的,暂不支持外部定义。
```
ts
<
script
setup
>
const
str
=
'
str
'
const
num
=
ref
(
0
)
const
increment
=
()
=>
{
num
.
value
++
}
defineExpose
({
str
,
num
,
increment
})
<
/script>
```
## 其他示例
## 其他示例
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录