#鸿蒙通关秘籍#页面路由中使用router.pushUrl()和router.replaceUrl()方法的区别

HarmonyOS
2024-12-04 14:22:37
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
PVT流星赶月

router.pushUrl()方法用于在页面栈中添加新的页面,而不替换当前页面,适用于需保留当前页面状态的场景。例如,在主页(Home)中点击商品跳转到详情页(Detail),仍希望能返回主页时使用router.pushUrl()

import { router } from '@kit.ArkUI';
function onJumpClick(): void {
  router.pushUrl({
    url: 'pages/Detail' 
  }, router.RouterMode.Standard, (err) => {
    if (err) {
      console.error(`Invoke pushUrl failed, code is ${err.code}, message is ${err.message}`);
      return;
    }
    console.info('Invoke pushUrl succeeded.');
  });
}

router.replaceUrl()用于替换当前页面,适用于不再需要保留当前页面的场景,例如从登录页(Login)成功跳转到个人中心页(Profile),并不希望返回到登录页时使用router.replaceUrl()

import { router } from '@kit.ArkUI';
function onJumpClick(): void {
  router.replaceUrl({
    url: 'pages/Profile' 
  }, router.RouterMode.Standard, (err) => {
    if (err) {
      console.error(`Invoke replaceUrl failed, code is ${err.code}, message is ${err.message}`);
      return;
    }
    console.info('Invoke replaceUrl succeeded.');
  });
}
分享
微博
QQ
微信
回复
2024-12-04 16:59:29
相关问题
HarmonyOS router.replaceUrl
323浏览 • 1回复 待解决
HarmonyOS router.pushUrl使用基于Har
218浏览 • 1回复 待解决
router路由中params对象
473浏览 • 1回复 待解决
HarmonyOS router.pushUrl跳转报100002
834浏览 • 1回复 待解决
router.pushUrl 无法使用Map类型参数
677浏览 • 1回复 待解决
router.pushUrl是否无法使用Map类型参数
962浏览 • 1回复 待解决
同一个HSP中,router.pushUrlurl问题
577浏览 • 1回复 待解决
HarmonyOS router pushUrl报错
928浏览 • 1回复 待解决