get-current-pages.md 3.1 KB
Newer Older
D
DCloud_LXH 已提交
1 2 3 4
## getCurrentPages() @getcurrentpages

<!-- UTSAPIJSON.getCurrentPages.description -->

W
wanganxp 已提交
5 6 7 8
HBuilderX 4.31+,强化了页面对象,新增了UniPage对象。getCurrentPages()返回值改为UniPage对象数组。

UniPage对象强化了开发者对页面的管理功能,并且支持在uts插件中使用。

W
x  
wanganxp 已提交
9 10 11 12
`getCurrentPages()`获取的是主页面栈,不能直接获取[dialogPage](./dialog-page.md)页面。拿到主页面UniPage对象后,可以再通过getDialogPages()方法获取这个主页面的子弹窗页面栈。

通过`this.$page`,是另一种快速获取当前页面对象的方式。它得到的不是一个页面数组,而是一个具体的当前页面。并且这种方式支持主页面,也支持dialogPage。

D
DCloud_LXH 已提交
13 14
<!-- UTSAPIJSON.getCurrentPages.compatibility -->

D
DCloud_LXH 已提交
15 16 17 18
<!-- UTSAPIJSON.getCurrentPages.param -->

<!-- UTSAPIJSON.getCurrentPages.returnValue -->

19
::: warning 注意
W
wanganxp 已提交
20
- HBuilderX 4.31+,$getPageStyle和$setPageStyle不再需要加前缀$。
21
- 使用`选项式 API` 时,不可创建 `route``options` 同名响应式变量,否则会覆盖当前 `page 实例` 的同名属性。
22 23
- 4.31 前仅 `Web``iOS(非 uts 插件)` 端支持通过 `page.$vm` 获取 vue 实例。\
	4.31+ 仅 `iOS uts 插件` 环境不支持通过 `page.vm` 获取 vue 实例。
24 25
:::

H
hdx 已提交
26 27
**PageStyle**

H
hdx 已提交
28
支持当前页面 `style` 节点属性
29

H
hdx 已提交
30 31 32 33 34
|属性													|类型		|Android|iOS	|web	|默认值	|
|:-:													|:-:		|:-:		|:-:	|:-:	|:-:		|
|enablePullDownRefresh				|Boolean|4.13		|4.13	|4.13	|false	|
|backgroundColorContent				|String	|4.15		|4.15	|4.18	|#ffffff|
|navigationBarBackgroundColor	|String	|4.18		|4.18	|4.18	|#007AFF|
35
|navigationBarTextStyle				|String	|4.18		|4.18	|4.18	|white  |
H
hdx 已提交
36
|navigationBarTitleText				|String	|4.18		|4.18	|4.18	|				|
37
|navigationStyle							|String	|x   		|x  	|4.18	|default|
38
|backgroundColor							|String	|4.18   |4.18 |x		|#ffffff|
zhaofengliang920817's avatar
zhaofengliang920817 已提交
39
|backgroundTextStyle					|String	|4.31      |4.31    |x		|dark	|
H
hdx 已提交
40
|onReachBottomDistance				|Number	|x			|x		|4.18	|50			|
DCloud_iOS_XHY's avatar
DCloud_iOS_XHY 已提交
41
|pageOrientation							|String	|4.18		|4.25		|x		|auto		|
DCloud_iOS_XHY's avatar
DCloud_iOS_XHY 已提交
42
|disableSwipeBack							|Boolean|x		|4.18		|x		|false	|
43 44
|hideStatusBar                  |Boolean    |4.31   |x  |x  |false
|hideBottomNavigationIndicator  |Boolean    |4.31   |x  |x  |false
H
hdx 已提交
45

D
DCloud_LXH 已提交
46
**注意事项**
DCloud_Heavensoft's avatar
DCloud_Heavensoft 已提交
47
- web端由于会自动摇树优化未使用的特性,如果整个项目中都没有使用到下拉刷新`enablePullDownRefresh`,那么下拉刷新功能会被摇掉,此时设置打开下拉刷新将无效。
DCloud_Heavensoft's avatar
DCloud_Heavensoft 已提交
48
- app-android平台的页面是activity,不支持`backgroundColorContent`设为透明。
DCloud_Heavensoft's avatar
DCloud_Heavensoft 已提交
49 50
- 4.15版本前,app-ios平台在page.json 中设置页面 `enablePullDownRefresh``false` 时,无法通过 `$setPageStyle` 方法动态开启页面下拉刷新。新版已修复该问题。

D
DCloud_LXH 已提交
51 52 53 54
<!-- UTSAPIJSON.getCurrentPages.example -->

<!-- UTSAPIJSON.getCurrentPages.tutorial -->

D
DCloud_LXH 已提交
55 56
<!-- UTSAPIJSON.general_type.name -->

D
DCloud_LXH 已提交
57
<!-- UTSAPIJSON.general_type.param -->
58 59 60 61 62 63 64 65 66 67

## Tips
* `4.32` 新增支持通过 `this.$page` 获取当前 `UniPage` 实例, 代码示例:
```js
// 选项式 API
const dialogPage = this.$page
// 组合式 API
const currentInstance = getCurrentInstance()
const dialogPage = instance?.proxy?.$page
```