Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sss宋
unidocs-zh
提交
886684f6
unidocs-zh
项目概览
sss宋
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
886684f6
编写于
8月 28, 2023
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
文档
上级
cfa35436
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
56 addition
and
23 deletion
+56
-23
docs/uni-app-x/_sidebar.md
docs/uni-app-x/_sidebar.md
+14
-12
docs/uni-app-x/codegap.md
docs/uni-app-x/codegap.md
+42
-11
未找到文件。
docs/uni-app-x/_sidebar.md
浏览文件 @
886684f6
...
...
@@ -3,24 +3,24 @@
*
[
编译器
](
compiler/README.md
)
*
[
manifest.json
](
manifest.md
)
*
组件
*
[
animation-view
](
component/animation-view.md
)
*
[
button
](
component/button.md
)
*
[
checkbox
](
component/checkbox.md
)
*
[
view
](
component/view.md
)
*
[
scroll-view
](
component/scroll-view.md
)
*
[
list-view
](
component/list-view.md
)
*
[
swiper
](
component/swiper.md
)
*
[
text
](
component/text.md
)
*
[
rich-text
](
component/rich-text.md
)
*
[
image
](
component/image.md
)
*
[
input
](
component/input.md
)
*
[
list-view
](
component/list-view.md
)
*
[
textarea
](
component/textarea.md
)
*
[
button
](
component/button.md
)
*
[
checkbox
](
component/checkbox.md
)
*
[
radio
](
component/radio.md
)
*
[
picker-view
](
component/picker-view.md
)
*
[
progress
](
component/progress.md
)
*
[
radio
](
component/radio.md
)
*
[
rich-text
](
component/rich-text.md
)
*
[
scroll-view
](
component/scroll-view.md
)
*
[
slider
](
component/slider.md
)
*
[
swiper
](
component/swiper.md
)
*
[
switch
](
component/switch.md
)
*
[
text
](
component/text.md
)
*
[
textarea
](
component/textarea.md
)
*
[
video
](
component/video.md
)
*
[
view
](
component/
view.md
)
*
[
animation-view
](
component/animation-
view.md
)
*
[
API
](
api.md
)
*
CSS
*
[
CSS概述
](
css/README.md
)
...
...
@@ -112,7 +112,9 @@
*
[
INode
](
dom/inode.md
)
*
[
CSSStyleDeclaration
](
dom/cssstyledeclaration.md
)
*
[
DrawableContext
](
dom/drawablecontext.md
)
*
[
事件系统
](
dom/event.md
)
*
事件event
*
[
事件系统概述
](
event.md
)
*
[
通用事件
](
event-common.md
)
*
[
性能
](
performance.md
)
<!--
*
[
新建项目
](
)
*
[
1. 通过 HBuilderX 可视化界面
](
quickstart-hx.md
)
...
...
docs/uni-app-x/codegap.md
浏览文件 @
886684f6
...
...
@@ -34,13 +34,13 @@ data里`:`的用途是赋值,无法通过`:`定义类型,所以data的数据
<script
lang=
"uts"
>
type
User
=
{
name
:
string
}
}
//定义一个User类型
export
default
{
data
()
{
const
date
=
new
Date
()
//自动推导类型为Date
const
v
=
1
;
//自动推导为number
return
{
buttonEnable
:
false
,
buttonEnable
:
false
,
//自动推导为boolean
s1
:
"
hello
"
,
// 根据字面量推导为string
n1
:
0
as
number
,
// 这里其实可以根据字面量自动推导,as number写不写都行
n2
,
// 不合法,必须指定类型。真实运行时请删掉本行
...
...
@@ -79,23 +79,51 @@ data里`:`的用途是赋值,无法通过`:`定义类型,所以data的数据
</style>
```
## 模板函数 event 参数需显式指定类型
## 模板函数 event 参数的类型
上面的例子中,touchstart事件中必须对
`e`
指定类型,才能使用
`e.touches[0].screenX`
。下面再举一个例子,加深下记忆:
```
vue
<
template
>
<switch
@
change=
"switchChange"
/>
</
template
>
<
script
lang=
"uts"
>
export
default
{
methods
:
{
switchChange
:
function
(
e
:
SwitchChangeEvent
)
{
// 这里必须声明e的类型为SwitchChangeEvent
console
.
log
(
'
switch 发生 change 事件,携带值为
'
,
e
.
detail
.
value
)
}
}
}
</
script
>
```
那event参数的类型从哪里获取呢?
1.
组件的文档中有介绍,比如
[
switch的组件
](
component/switch.md
)
2.
ide中有提示,比如鼠标移到switch组件的
`@change`
上,悬浮出现hover,会显示:
`(property) 'change': (event: SwitchChangeEvent) => void`
```
html
<view
@
click=
"(e: any) => foo(e)"
>
event must has type
</view>
<view
@
click=
"foo($event as MouseEvent)"
>
event must has type
</view>
```
## JSON的类型
注意
## JSON的类型
JSON在强类型语言中使用时,不能像js那样随意。这部分内容较长,
[
详见
](
../uts/data-type.md#JSON
)
JSON数据在强类型语言中使用时,不能像js那样随意。
js中可以这么写:
```
js
var
p
=
{
"
name
"
:
"
zhangsan
"
,
"
age
"
:
12
}
p
.
age
//12
```
## 不同的函数定义方式有不同的限制
但是在强类型语言中,如果想要使用
`p.age`
,那么p必须是一个对象,而age则是这个对象的属性。然后必须为p对象、name属性、age属性,都定义类型,比如name是string,age是number。
*
函数声明方式不支持
[
作为值传递
](
../uts/function.md#作为值传递
)
*
函数表达式方式不支持
[
默认参数
](
../uts/function.md#默认参数
)
uts中有2种方式使用json数据:
1.
把json数据转为type,自定义一个类型,声明json数据内容中每个属性的类型。然后就可以使用对象属性的方式来使用json数据。
[
详见
](
../uts/data-type.md#type
)
2.
使用UTSJSONObject,不为json定义类型,然后通过下标和方法来使用json数据。
[
详见
](
../uts/data-type.md#ustjsonobject
)
##
作用域插槽数据
类型
##
组件作用域插槽的
类型
作用域插槽需在组件中指定插槽数据类型
```
ts
...
...
@@ -120,9 +148,12 @@ export default {
<
/view>
```
## uts不支持
undefined
## uts不支持
js的一些功能和特性
任何变量被定义后,都需要赋值。
-
不支持undefined。任何变量被定义后,都需要赋值
-
不支持promise、async、await,仅支持callback回调
-
函数声明方式不支持
[
作为值传递
](
../uts/function.md#作为值传递
)
-
函数表达式方式不支持
[
默认参数
](
../uts/function.md#默认参数
)
## css使用注意
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录