赞
踩
(1)直接通过创建一个新的Page的方式创建
(2)先创建一个 ArkTs File文件,然后在resources/base/profile/main_pages.json中加上页面对应的src路径,下面的Index_3.ets文件是通过创建ArkTs File文件生成的,需要加上src路径
加上路径后的显示:
import router from 'ohos.router'
相当于栈,可以每次跳转都是入栈,每次返回都是出栈,页面栈的最大容量是32个页面
提示:页面地址是resources/base/profile/main_pages.json里的src地址
- router.pushUrl({
- url:'页面地址'
- })
提示:页面地址是resources/base/profile/main_pages.json里的src地址
- router.replaceUrl({
- url:'页面地址'
- })
router.back()
router.getLength()
router.clear()
Standard:无论之前是否使用过,一直添加到页面栈中(默认)
Single:如果目标页面已存在,会将已有的最近同url页面移到栈顶
在挑战页面的第二个参数设置路由模式
router.pushUrl(options,mode)
示例:
router.pushUrl({ url:'pages/Index_2' },router.RouterMode.Single)
传递参数的示例:
router.pushUrl({ url:'pages/Index_3', params: { username:this.username } })
接受参数的示例:
aboutToAppear():void{ console.log(JSON.stringify(router.getParams())) const params = router.getParams() as 类型 //例如,获取params中的username属性 console.log('我的用户名是'+params.username) }
- import router from '@ohos.router'
-
- @Entry
- @Component
- struct Index {
-
- build(){
- Column() {
- Text('第一个页面')
- .fontSize(50)
- .onClick(()=>{
- router.pushUrl({
- url:'pages/Index_2'
- },router.RouterMode.Single)
- })
-
- }
- }
- }
- import router from '@ohos.router';
-
- @Entry
- @Component
- struct Index_2 {
- @State username:string = 'csh'
- build(){
- Column() {
- Text('第二个页面')
- .fontSize(50)
- .onClick(()=>{
- router.pushUrl({
- url:'pages/Index_3',
- params: {
- username:this.username
- }
- })
- })
- }
- }
- }
- import router from '@ohos.router';
-
- interface ParamsObj{
- username:string
- }
-
- @Entry
- @Component
- struct Index_3 {
-
- aboutToAppear():void{
-
- console.log(JSON.stringify(router.getParams()))
- const params = router.getParams() as ParamsObj
- console.log('我的用户名是'+params.username)
-
- }
-
- build(){
- Column() {
- Text('第三个页面')
- .fontSize(50)
-
- }
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。