Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
d938fea9
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3216
Star
106
Fork
815
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
94
列表
看板
标记
里程碑
合并请求
70
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
94
Issue
94
列表
看板
标记
里程碑
合并请求
70
合并请求
70
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
d938fea9
编写于
9月 12, 2023
作者:
D
DCloud_LXH
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: uni-app-x api ignorecase
上级
393334fb
变更
21
隐藏空白更改
内联
并排
Showing
21 changed file
with
0 addition
and
136 deletion
+0
-136
docs/uni-app-x/api/createvideocontext.md
docs/uni-app-x/api/createvideocontext.md
+0
-0
docs/uni-app-x/api/createwebviewcontext.md
docs/uni-app-x/api/createwebviewcontext.md
+0
-0
docs/uni-app-x/api/downloadfile.md
docs/uni-app-x/api/downloadfile.md
+0
-0
docs/uni-app-x/api/getapp.md
docs/uni-app-x/api/getapp.md
+0
-0
docs/uni-app-x/api/getappauthorizesetting.md
docs/uni-app-x/api/getappauthorizesetting.md
+0
-0
docs/uni-app-x/api/getappbaseinfo.md
docs/uni-app-x/api/getappbaseinfo.md
+0
-0
docs/uni-app-x/api/getcurrentpages.md
docs/uni-app-x/api/getcurrentpages.md
+0
-0
docs/uni-app-x/api/getdeviceinfo.md
docs/uni-app-x/api/getdeviceinfo.md
+0
-0
docs/uni-app-x/api/getlaunchoptionssync.md
docs/uni-app-x/api/getlaunchoptionssync.md
+0
-0
docs/uni-app-x/api/getlocation.md
docs/uni-app-x/api/getlocation.md
+0
-0
docs/uni-app-x/api/getnetworktype.md
docs/uni-app-x/api/getnetworktype.md
+0
-0
docs/uni-app-x/api/getsysteminfo.md
docs/uni-app-x/api/getsysteminfo.md
+0
-0
docs/uni-app-x/api/getsysteminfosync.md
docs/uni-app-x/api/getsysteminfosync.md
+0
-0
docs/uni-app-x/api/getsystemsetting.md
docs/uni-app-x/api/getsystemsetting.md
+0
-0
docs/uni-app-x/api/getwindowinfo.md
docs/uni-app-x/api/getwindowinfo.md
+0
-0
docs/uni-app-x/api/loadfontface.md
docs/uni-app-x/api/loadfontface.md
+0
-0
docs/uni-app-x/api/pagescrollto.md
docs/uni-app-x/api/pagescrollto.md
+0
-0
docs/uni-app-x/api/setnavigationbarcolor.md
docs/uni-app-x/api/setnavigationbarcolor.md
+0
-0
docs/uni-app-x/api/showloading.md
docs/uni-app-x/api/showloading.md
+0
-0
docs/uni-app-x/api/uploadfile.md
docs/uni-app-x/api/uploadfile.md
+0
-0
docs/uni-app-x/component/readme.md
docs/uni-app-x/component/readme.md
+0
-136
未找到文件。
docs/uni-app-x/api/create
VideoC
ontext.md
→
docs/uni-app-x/api/create
videoc
ontext.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/create
WebviewC
ontext.md
→
docs/uni-app-x/api/create
webviewc
ontext.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/download
F
ile.md
→
docs/uni-app-x/api/download
f
ile.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/get
A
pp.md
→
docs/uni-app-x/api/get
a
pp.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/get
AppAuthorizeS
etting.md
→
docs/uni-app-x/api/get
appauthorizes
etting.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/get
AppBaseI
nfo.md
→
docs/uni-app-x/api/get
appbasei
nfo.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/get
CurrentP
ages.md
→
docs/uni-app-x/api/get
currentp
ages.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/get
DeviceI
nfo.md
→
docs/uni-app-x/api/get
devicei
nfo.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/get
LaunchOptionsS
ync.md
→
docs/uni-app-x/api/get
launchoptionss
ync.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/get
L
ocation.md
→
docs/uni-app-x/api/get
l
ocation.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/get
NetworkT
ype.md
→
docs/uni-app-x/api/get
networkt
ype.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/get
SystemI
nfo.md
→
docs/uni-app-x/api/get
systemi
nfo.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/get
SystemInfoS
ync.md
→
docs/uni-app-x/api/get
systeminfos
ync.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/get
SystemS
etting.md
→
docs/uni-app-x/api/get
systems
etting.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/get
WindowI
nfo.md
→
docs/uni-app-x/api/get
windowi
nfo.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/load
FontF
ace.md
→
docs/uni-app-x/api/load
fontf
ace.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/page
ScrollT
o.md
→
docs/uni-app-x/api/page
scrollt
o.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/set
NavigationBarC
olor.md
→
docs/uni-app-x/api/set
navigationbarc
olor.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/show
L
oading.md
→
docs/uni-app-x/api/show
l
oading.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/api/upload
F
ile.md
→
docs/uni-app-x/api/upload
f
ile.md
浏览文件 @
d938fea9
文件已移动
docs/uni-app-x/component/readme.md
已删除
100644 → 0
浏览文件 @
393334fb
# uvue组件概述
uni-app x支持vue组件,不支持小程序wxml组件。
支持
[
easycom
](
/component/README.md#easycom
)
。
uvue的组件,可以使用前端技术编写,也可以使用原生技术编写。
-
前端技术即新建一个vue或uvue文件,按vue组件规范编写代码。
-
原生的uts组件插件,指把原生的、需要在界面上显示的组件,编写uts代码,通过uni_modules插件的方式集成到uni-app项目中。比如
*
lottie组件,使用uts调用原生的lottie sdk来开发组件,再引入页面中。
[
详见
](
https://ext.dcloud.net.cn/plugin?name=uni-animation-view
)
*
video组件,其实官方的video,也是用uts组件插件实现的
之所以称之为
`uts组件插件`
,是相对于另一个分类
`uts api插件`
。
uts组件插件的开发教程,
[
详见
](
/plugin/uts-component.md
)
**兼容性及注意事项:**
## props
-
仅支持
[
对象方式
](
https://cn.vuejs.org/guide/components/props.html#props-declaration
)
声明。
-
复杂数据类型需要通过
`PropType`
标记类型,
[
详见
](
https://cn.vuejs.org/guide/typescript/options-api.html#typing-component-props
)
。
```
ts
import
{
type
PropType
}
from
'
vue
'
type
Obj
=
{
a
:
number
}
export
default
{
props
:
{
num
:
{
type
:
Number
,
required
:
true
},
str
:
{
type
:
String
,
default
:
'
str
'
,
validator
(
value
:
string
):
boolean
{
return
value
.
length
>
0
}
},
obj
:
{
type
:
Object
as
PropType
<
Obj
>
,
default
:
():
Obj
=>
({
a
:
1
}
as
Obj
)
},
arr
:
{
type
:
Array
as
PropType
<
number
[]
>
,
default
:
():
number
[]
=>
[
1
,
2
,
3
]
}
}
}
```
## 自定义事件
-
[
v-model
](
tutorial/vue3-components.html#v-model-modifiers
)
暂不支持
`capitalize`
修饰符。
## 计算属性和侦听器
-
[
watch deep
](
https://uniapp.dcloud.net.cn/tutorial/vue3-basics.html#%E9%80%89%E9%A1%B9-deep
)
不支持
-
[
监听对象中单个属性
](
https://uniapp.dcloud.net.cn/tutorial/vue3-basics.html#%E7%9B%91%E5%90%AC%E5%AF%B9%E8%B1%A1%E4%B8%AD%E5%8D%95%E4%B8%AA%E5%B1%9E%E6%80%A7
)
不支持
## 作用域插槽的类型
作用域插槽需在组件中指定插槽数据类型
```
ts
// components/Foo.uvue
<
view
>
<
slot
msg
=
"
test msg
"
/>
<
/view
>
import
{
SlotsType
}
from
'
vue
'
export
default
{
slots
:
Object
as
SlotsType
<
{
default
:
{
msg
:
string
}
}
>
}
// page.uvue
<
view
>
<
Foo
>
<
template
v
-
slot
=
"
slotProps
"
>
<
text
>
{{
slotProps
.
msg
}}
<
/text
>
<
/template
>
<
/Foo
>
<
/view>
```
## 监听页面生命周期
目前暂不支持在组件内监听页面生命周期,待后续支持组合式 API 后,可通过组合式 API 实现。
## vue 与 uvue 不同文件后缀的优先级 @priority
新建组件时,默认组件的后缀名为.vue。而不是.uvue。
.vue里面写uvue的语法,可以正常被.uvue页面引用和编译。
.vue里写条件编译,可以制作同时满足uni-app和uni-app x的组件。
但是uni-app x也支持.uvue文件的组件。
当你手动import或easycom手动配置规则,可以指定文件名后缀。比如
`import PageHead from '@/components/page-head.uvue'`
但如果未明确指定组件后缀名的情况,且同一个组件目录下即存在.vue文件、又存在.uvue文件,
此时
`vue`
组件和
`uvue`
组件的优先级如下:
-
在
`uni-app x`
中,优先使用
`uvue`
组件,如果不存在
`uvue`
组件,则使用
`vue`
组件。
-
在
`uni-app`
中,只支持使用
`vue`
组件。
## 如何开发同时兼容 uni-app x 和 uni-app 的组件
目前有两种方案:
-
目录下同时提供uvue,vue文件,分别适配 uni-app x 和 uni-app
组件作者在 uvue 和 vue 文件中可以自由使用各自的特性,比如 vue 中可以任意使用 js 或 ts 来书写代码,
如果部分组件逻辑被抽离为单独的文件,需要分别命名为各自环境支持的文件类型,导入时不同平台支持的文件类型也不同,
比如 uvue 文件目前不支持引入js或ts,而 vue 文件不能引入 uts 文件
对于现有的 uni-app 组件,通过新建 uvue 文件来渐进式支持 uni-app x,可以避免对已有 uni-app 项目造成影响
-
仅提供一个vue文件,同时适配 uni-app x 和 uni-app
该方案,需要script节点配置lang="ts",这样才可以在 uni-app 项目中正常书写带有类型的代码,而在 uni-app x 项目中,则会忽略 lang="ts",当做 uts 代码编译。
当需要区分平台或项目类型时,可以使用对应的条件编译。
<!-- 比如,当需要在 css 中区分原生渲染和webview渲染时
可以通过 APP-UVUE(表示在 uni-app x 项目app端的Android和iOS原生渲染)、APP-NVUE(表示在 uni-app 项目app端的nvue页面原生渲染) 区分,
`#ifdef APP-UVUE || APP-NVUE`
可以表示原生渲染,使用
`ifndef`
则可以取反表示为webview渲染,如
`#ifndef APP-UVUE || APP-NVUE`
-->
比如通过 UNI-APP-X 来区分项目类型,更多条件编译见:
[
详情
](
https://uniapp.dcloud.net.cn/tutorial/platform.html
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录