您现在的位置是:网站首页> 小程序设计
uniapp 内置Page API
- 小程序设计
- 2021-03-17
- 809人已阅读
Page
Page 模块提供了控制页面的方法。
属性
page.path
页面路径。
page.path: string
page.query
页面参数。 page.query: Object
方法
page.$
获取页面元素。
page.$(selector: string): Promise<Element>
参数说明
字段 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
selector | string | 是 | - | 选择器 |
示例代码:
const page = await program.currentPage() const element = await page.$('.index-desc') console.log(element.tagName) // 'view'
page.$$
获取页面元素数组。
page.$$(selector: string): Promise<Element[]>
参数说明
字段 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
selector | string | 是 | - | 选择器 |
该方法跟 $ 一样均无法选择自定义组件内的元素,请使用 element.$。
示例代码:
const page = await program.currentPage() const elements = await page.$$('.list-text') console.log(elements.length)
page.waitFor
等待直到指定条件成立。
page.waitFor(condition: string | number | Function): Promise<void>
参数说明
字段 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
condition | string number Function | 是 | - | 等待条件 |
如果条件是 string
类型,那么该参数会被当成选择器,当该选择器选中元素个数不为零时,结束等待。
如果条件是 number
类型,那么该参数会被当成超时时长,当经过指定时间后,结束等待。
如果条件是 Function
类型,那么该参数会被当成断言函数,当该函数返回真值时,结束等待。
示例代码:
const page = await program.currentPage() await page.waitFor(5000) // 等待 5 秒 await page.waitFor('picker') // 等待页面中出现 picker 元素 await page.waitFor(async () => { return (await page.$$('picker')).length > 5 }) // 等待页面中 picker 元素数量大于 5
page.data
获取页面渲染数据。
page.data(path?: string): Promise<Object>
参数说明
字段 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
path | string | 否 | - | 数据路径 |
示例代码:
const page = await program.currentPage() console.log(await page.data('list'))
page.setData
设置页面渲染数据。
page.setData(data: Object): Promise<void>
参数说明
字段 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
data | Object | 是 | - | 要改变的数据 |
示例代码:
const page = await program.currentPage() await page.setData({ text: 'changed data' })
page.size
获取页面大小。
page.size(): Promise<Object>
返回值说明
字段 | 类型 | 说明 |
---|---|---|
width | number | 页面可滚动宽度 |
height | number | 页面可滚动高度 |
示例代码:
const page = await program.currentPage() const { width, height } = await page.size() console.log(width, height)
page.scrollTop
获取页面滚动位置。
page.scrollTop(): Promise<number>
示例代码:
const page = await program.currentPage() await program.pageScrollTo(20) console.log(await page.scrollTop())
page.callMethod
调用页面指定方法。
page.callMethod(method: string, ...args: any[]): Promise<any>
参数说明
字段 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
method | string | 是 | - | 需要调用的方法名 |
...args | array | 否 | - | 方法参数 |
示例代码:
const page = await program.currentPage()
await page.callMethod('onShareAppMessage')
上一篇:uniapp编译相关