路由跳转模块
页面跳转和参数接收
在使用页面路由之前,需要先导入router模块,如下代码所示。
import router from '@ohos.router';
页面跳转的几种方式,根据需要选择一种方式跳转即可。
方式一:通过调用router.push()方法,跳转到Ability内的指定页面。
说明:每调用一次router.push()方法,均会新建一个页面。默认情况下,页面栈数量会加1,页面栈支持的最大页面数量为32。
当页面栈数量较大或者超过32时,可以通过调用router.clear()方法清除页面栈中的所有历史页面,仅保留当前页面作为栈顶页面。
router.push({
url: 'pages/Second',
params: {
src: 'Index页面传来的数据',
}
})
方式二:API9及以上,router.push()方法新增了mode参数,可以将mode参数配置为router.RouterMode.Single单实例模式和router.RouterMode.Standard标准模式。
在单实例模式下:如果目标页面的url在页面栈中已经存在同url页面,离栈顶最近的同url页面会被移动到栈顶,移动后的页面为新建页,原来的页面仍然存在栈中,页面栈数量不变;如果目标页面的url在页面栈中不存在同url页面,按标准模式跳转,页面栈数量会加1。
router.push({
url: 'pages/Second',
params: {
src: 'Index页面传来的数据',
}
}, router.RouterMode.Single)
方式三:通过调用router.replace()方法,跳转到Ability内的指定页面。即使用新的页面替换当前页面,并销毁被替换的当前页面,页面栈数量不变。
router.replace({
url: 'pages/Second',
params: {
src: 'Index页面传来的数据',
}
})
方式四:API9及以上,router.replace()方法新增了mode参数,可以将mode参数配置为router.RouterMode.Single单实例模式和router.RouterMode.Standard标准模式。
在单实例模式下:如果目标页面的url在页面栈中已经存在同url页面,离栈顶最近的同url页面会被移动到栈顶,替换当前页面,并销毁被替换的当前页面,移动后的页面为新建页,页面栈数量会减1;如果目标页面的url在页面栈中不存在同url页面,按标准模式跳转,页面栈数量不变。
router.replace({
url: 'pages/Second',
params: {
src: 'Index页面传来的数据',
}
}, router.RouterMode.Single)
通过调用router.getParams()方法获取Index页面传递过来的自定义参数。
页面返回和参数接收
经常还会遇到一个场景,在Second页面中,完成了一些功能操作之后,希望能返回到Index页面,那我们要如何实现呢?
在Second页面中,可以通过调用router.back()方法实现返回到上一个页面,或者在调用router.back()方法的时增加可选的options参数(增加url参数)返回到指定页面。
说明:
调用router.back()返回的目标页面需要在页面栈中存在才能正常跳转。
例如调用router.push()方法跳转到Second页面,在Second页面可以通过调用router.back()方法返回到上一个页面。
例如调用router.clear()方法清空了页面栈中所有历史页面,仅保留当前页面,此时则无法通过调用router.back()方法返回到上一个页面。
返回上一个页面。
router.back()
返回到指定页面。
router.back({ url: 'pages/index' })
数据请求模块
申请网络上的接口,获取传输的数据,首先导入http 模块:
import http from '@ohos.net.htpp'
接着在config.json的module模块里配置权限:
![](https://img-blog.csdnimg.cn/img_convert/ffa517f34ee71c7e4e6c98dd8d0b24f2.png)
弹窗模块
首先需要导入prompt模块:
import prompt from '@ohos.net.prompt'
使用prompt.showToast()方法:
![](https://img-blog.csdnimg.cn/img_convert/1d8900bc222aecd2d2d7ca5e3ecce9b6.png)
绑定事件
![](https://img-blog.csdnimg.cn/img_convert/776a500b469037fcf33d9b18435012ef.png)