HarmonyOS 页面导航跳转回调传参问题
采用官方推荐的页面导航设计方案。
若从A页面使用NavPathStack.pushPath({ name: BrouterName, param: routerParam, onPop: routerOnPop })方法跳转到B页面,
再从B页面使用NavPathStack.pushPath({ name: CrouterName, param: routerParam, onPop: routerOnPop })方法跳转到C页面,
再从C页面调用NavPathStack.popToName(name: ArouterName, result: Object)返回A页面,此时A页面的onPop回调不会触发,那怎么拿到popToName传入的result呢?
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 页面导航跳转回调问题
797浏览 • 1回复 待解决
HarmonyOS 页面跳转回调问题
645浏览 • 1回复 待解决
HarmonyOS 路由跳转回调问题
832浏览 • 1回复 待解决
HarmonyOS pageInfos.pushPath跳转页面传参问题
1103浏览 • 1回复 待解决
HarmonyOS 页面传参问题
1081浏览 • 1回复 待解决
JS跳转Java传参问题?
5519浏览 • 1回复 待解决
router跳转页面,传参用HashMap,获取参数失败
2346浏览 • 1回复 待解决
如何在navigation跳转页面时返回传参
2518浏览 • 1回复 待解决
HarmonyOS router跳转返回如何传参
546浏览 • 1回复 待解决
HarmonyOS 页面间如何传参?
1580浏览 • 1回复 待解决
HarmonyOS Web组件加载本地页面传参问题
1080浏览 • 1回复 待解决
HarmonyOS 路由跳转获取跳转传参的方式
1782浏览 • 1回复 待解决
HarmonyOS 本地html传参问题
1276浏览 • 1回复 待解决
HarmonyOS 如何实现点击通知跳转app指定页面并传参
1329浏览 • 1回复 待解决
HarmonyOS 参数传参问题
734浏览 • 1回复 待解决
HarmonyOS Navigation传参问题
888浏览 • 1回复 待解决
HarmonyOS 调用flutter页面并传参
498浏览 • 1回复 待解决
HarmonyOS HTTP使用Map传参问题
696浏览 • 1回复 待解决
HarmonyOS router跳转新页面之后使用function作为参数,想在新页面进行回调但是传参到新页面丢失
543浏览 • 1回复 待解决
HarmonyOS router传参获取问题
1049浏览 • 1回复 待解决
HarmonyOS @Builder Params传参问题
538浏览 • 1回复 待解决
HarmonyOS 页面传参后对象出错
439浏览 • 1回复 待解决
HarmonyOS router.back方法的传参和返参问题
789浏览 • 1回复 待解决
HarmonyOS 页面内组件如何感知路由返回传参
566浏览 • 1回复 待解决
HarmonyOS 自动化测试传参问题
699浏览 • 1回复 待解决
此处onPop不触发,是因为在页面跳转时,传的回调函数,是对应页面的出栈的回调。如:A跳转B,此时定义的是B的出栈回调;B跳转C,此时定义的是C的出栈回调。如果此时在C页面直接popToName至A,是C出栈,调用C的出栈回调,方法是在B中执行。由于C直接返回A,B页面走的是清除,因此A页面没有触发B页面的出栈回调。
对于该问题,这里提供几个思路去解决:
1.如果页面使用的是router作为路由,可以使用router.back并指定页面同时添加返回带的参数,中间页面的历史都会被清除。
2.可以使用replacePathByName+removeByName替代popToName,中间页面使用removeByName清除,需要返回的页面使用replacePathByName 跳转并带参数。
3.可以使用popToName,并使用其他组件之间的传值方法,比如但不限于LocalStorage、自行传递方法或对象做数据处理。