W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
無需聲明
import router from '@system.router' 或 const router = require('@system.router')
跳轉(zhuǎn)到應用內(nèi)的某個頁面
參數(shù) | 類型 | 必填 | 說明 | ||||
---|---|---|---|---|---|---|---|
uri | String | 是 | 要跳轉(zhuǎn)到的 uri,可以是下面的格式:
|
||||
params | Object | 否 | 跳轉(zhuǎn)時需要傳遞的數(shù)據(jù),參數(shù)可以在頁面中通過this.param1 的方式使用,param1為json中的參數(shù)名,param1對應的值會統(tǒng)一轉(zhuǎn)換為String類型 |
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
body1040+
|
String | 否 | 跳轉(zhuǎn)時短信發(fā)送頁面時攜帶的短信內(nèi)容。 |
___PARAMLAUNCH_FLAG\__1050+
|
String | 否 | 快應用啟動參數(shù),目前僅支持"clearTask",在啟動目標頁面時會清除除此頁面外的其他頁面。詳見 頁面啟動模式 |
___PARAMPAGE_ANIMATION\__1070+
|
Object | 否 | 頁面跳轉(zhuǎn)時動畫類型 |
頁面動作 | 動畫類型 | 必填 | 說明 |
---|---|---|---|
openEnter | String | 否 | 打開進入當前頁時當前頁動畫,可選值 slide, none,默認為slide |
closeEnter | String | 否 | 關(guān)閉返回當前頁時當前頁動畫,可選值 slide, none,默認為slide |
openExit | String | 否 | 打開下一頁,退出當前頁時當前頁動畫,可選值 slide, none,默認為slide |
closeExit | String | 否 | 返回上一頁,退出當前頁時當前頁動畫,可選值 slide, none,默認為slide |
slide模式在各動作下的動畫變化詳情如下:
頁面動作 | 動畫變化 | 動畫時長 |
---|---|---|
openEnter | x from 100%~0 | 300ms |
closeEnter | x from -25%~0, alpha 0.6~1.0 | 300ms |
openExit | x from 0~-25%, alpha 1.0~0.6 | 300ms |
closeExit | x from 0~100% | 300ms |
router.push({
uri: 'tel:10086'
})
router.push({
uri: 'sms:10086',
params: {
body: 'message'
}
})
router.push({
uri: '/about',
params: {
testId: '1'
}
})
// open page by name
router.push({
uri: 'About',
params: {
testId: '1'
}
})
router.push({
uri: '/about',
params: {
___PARAM_LAUNCH_FLAG___: 'clearTask'
}
})
router.push({
uri: 'http://www.example.com'
})
router.push({
uri: 'internal://cache/example.apk'
})
router.push({
uri: 'hap://app/com.example.quickapp/page?key=value'
})
router.push({
uri: 'hap://settings/wlan_manager'
})
router.push({
uri: '/about',
params: {
___PARAM_PAGE_ANIMATION___: {
openEnter:`none`,
closeEnter:`slide`,
openExit:`slide`,
closeExit:`slide`
}
}
})
跳轉(zhuǎn)到應用內(nèi)的某個頁面,當前頁面無法返回
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
uri | String | 是 | 要跳轉(zhuǎn)到的 uri,可以是下面的格式:
|
params | Object | 否 | 跳轉(zhuǎn)時需要傳遞的數(shù)據(jù),參數(shù)可以在頁面中通過this.param1 的方式使用,param1 為 json 中的參數(shù)名,param1 對應的值會統(tǒng)一轉(zhuǎn)換為 String 類型 |
router.replace({
uri: '/test',
params: {
testId: '1'
}
})
返回指定頁面
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
path '1020+' | String | 否 | 返回目標頁面的路徑,可以是以下幾種取值:
|
// A頁面, open page by name
router.push({
uri: 'B'
})
// B頁面, open page by name
router.push({
uri: 'C'
})
// C頁面, open page by name
router.push({
uri: 'D'
})
// D頁面, open page by name
router.push({
uri: 'E'
})
// E頁面不傳入頁面路徑,返回至D頁面
router.back()
// D頁面不傳入頁面名稱,返回至C頁面
router.back()
// C頁面?zhèn)魅腠撁媛窂?,返回至A頁面
router.back({
path: '/A'
})
清空所有歷史頁面記錄,僅保留當前頁面
無
router.clear()
獲取當前頁面棧的頁面數(shù)量
類型 | 說明 |
---|---|
Number | 頁面數(shù)量 |
var length = router.getLength()
console.log(`page's length = ${length}`)
獲取當前頁面狀態(tài)
參數(shù)名 | 類型 | 說明 |
---|---|---|
index | Number | 當前頁面在頁面棧中的位置 |
name | String | 當前頁面的名稱 |
path | String | 當前頁面的路徑 |
var page = router.getState()
console.log(`page index = ${page.index}`)
console.log(`page name = ${page.name}`)
console.log(`page path = ${page.path}`)
獲取當前頁面棧列表
類型 | 說明 |
---|---|
Array | 頁面棧列表。數(shù)組每一項都為 Object 類型。 |
數(shù)組每一項構(gòu)成:
字段 | 類型 | 說明 |
---|---|---|
name | String | 頁面的名稱 |
path | String | 頁面的路徑 |
var stacks = router.getPages();
console.log("棧底頁面名稱為:", stacks[0].name); // 如 list、detail 等
console.log("棧底頁面路徑為:", stacks[0].path); // 如 /list、/detail、/home/preview
禁止使用。 后臺運行詳細用法參見 后臺運行 腳本。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: