图片来源:黑马程序员 bz
router 栈大小容量 32
总结:
#返回
方式一:返回到上一个页面。
router.back();
这种方式会返回到上一个页面,即上一个页面在页面栈中的位置。
但是,上一个页面必须存在于页面栈中才能够返回,否则该方法将无效。
方式二:返回到指定页面。
router.back({ url: 'pages/Home'});
这种方式可以返回到指定页面,需要指定目标页的路径。
目标页必须存在于页面栈中才能够返回。
方式三:返回到指定页面,并传递自定义参数信息。
router.back({ url: 'pages/Home',
params: { info: '来自Home页' }});
在目标页中,在需要获取参数的位置调用router.getParams()方法即可,
例如在onPageShow()生命周期回调中: Entry 修饰的 Component
onPageShow() { const params = router.getParams(); // 获取传递过来的参数对象 const info = params['info']; // 获取info属性的值}
当使用router.back()方法返回到指定页面时,back <-- 栈顶, 都 弹出 and 销毁。
router.back()方法返回到原来的页面,原页面不会被重复创建,
使用@State声明的变量不会重复声明,
页面aboutToAppear() 不会触发 生命周期回调。
页面onPageShow()回调,会被触发,可进行传递参数解析。
使用router事件跳转到指定UIAbility
使用:
页面需要在 main_pages.json 中配置,自动跟创建 Page时自动创建