1. 程式人生 > 其它 >uni-app之Page——控制頁面的方法

uni-app之Page——控制頁面的方法

Page 模組提供了控制頁面的方法。

Page的屬性

屬性 描述 返回型別
path 頁面路徑 String
query 頁面引數 Object
data 頁面的渲染資料 Object

Page的方法

方法 引數 描述 返回值
$ (selector: string) 獲取頁面元素 Element
$$ (selector: string) 獲取頁面元素陣列 Element[]
waitFor (condition: string | number | Function) 等待直到條件成立 void
data (path?: String) 獲取頁面渲染資料 Object
setData (data: Object) 設定頁面渲染資料 Object
size 獲取頁面的大小 Object
scrollTop 獲取頁碼滾動位置 Number
callMethod (method: string, ...args: any[]) 呼叫頁面的指定方法 any

page.$()方法

$()方法用於獲取頁面的元素。$方法的輸入引數說明:

欄位 型別 必填 預設值 說明
selector String 選擇器

示例程式碼如下:

1 const page = await program.currentPage()
2 const element = await page.$('.index-desc') 3 console.log(element.tagName) // 'view'

page.$$()方法

$$()方法用於獲取頁碼元素陣列。$$方法的輸入引數說明:

欄位 型別 必填 預設值 說明
selector String 選擇器

示例程式碼如下:

1 const page = await program.currentPage()
2 const elements = await page.$$('.list-text')
3 console.log(elements.length)

Page.waitFor()方法

waitFor()方法用於等待直到條件成立。waitFor方法引數說明

欄位 型別 必填 預設值 說明
condition String Number Function 等待條件
  • 如果條件是string型別時,那麼該引數會被當成選擇器,當該選擇器選中元素個數不為零時,結束等待。
  • 如果條件是number,那麼該引數會被當成超時時長,當經過指定時間後,結束等待。
  • 如果條件是FUnction型別,那麼該引數會被當成斷言函式,當該函式返回真時,結束等等。

示例程式碼如下:

1 const page = await program.currentPage() await page.waitFor(5000) // 等待 5 秒
2 await page.waitFor('picker') // 等待頁面中出現 picker 元素
3 await page.waitFor(async() = >{
4     return (await page.$$('picker')).length > 5
5 }); // 等待頁面中 picker 元素數量大於 5

Page.data()方法

data()方法用於獲取頁碼資料。data()方法引數如下:

欄位 型別 必填 預設值 說明
path String 資料路徑

示例程式碼如下:

1 const page = await program.currentPage();
2 console.log(await page.data('list'));

Page.setData()方法

setData()方法用於設定頁面的渲染資料。setData()方法引數如下:

欄位 型別 必填 預設值 說明
data Object 要改變的資料

示例程式碼如下:

1 const page = await program.currentPage();
2 await page.setData({
3     text: 'changed data'
4 });

Page.size()方法

size()方法獲取頁面的大小。size()的返回值如下:

欄位 型別 說明
width number 頁面可滾動寬度
height number 頁面可滾動高度

Page.callMethod() 方法

callMethod()方法用於呼叫頁面的指定方法。callMethod()的引數說明如下:

欄位 型別 必填 預設值 說明
method String - 需要呼叫的方法名
...args array - 方法引數

參考網址

有志者,事竟成,破釜沉舟,百二秦關終屬楚; 苦心人,天不負,臥薪嚐膽,三千越甲可吞吳。