PageAbility配合多个Slice实现页面间切换

老师您好,描述下我的情况,就是类似于退栈过程出现的问题。打开一个PageAbility页面,里面通过slice的切换来显示不同的界面样式。PageAbility默认加载PageHomeAbilitySlice,如下:PageAbility配合多个Slice实现页面间切换-鸿蒙开发者社区

接着依次点击下面按钮(调用stop结束当前slice):HOME>SINITEK>MINE>HOME>SINITEK>MINE>HOME;

会相应的加载:PageHomeAbilitySlice>PageSinitekAbilitySlice>PageMineAbilitySlice>PageHomeAbilitySlice>PageSinitekAbilitySlice>

PageMineAbilitySlice>PageHomeAbilitySlice;

PageAbility配合多个Slice实现页面间切换-鸿蒙开发者社区PageAbility配合多个Slice实现页面间切换-鸿蒙开发者社区PageAbility配合多个Slice实现页面间切换-鸿蒙开发者社区

点返回,依次:PageHomeAbilitySlice>PageMineAbilitySlice>PageSinitekAbilitySlice>PageHomeAbilitySlice>PageMineAbilitySlice>

PageSinitekAbilitySlice>PageHomeAbilitySlice。

主要想实现在功能就是:在当前Ability下,通过下方在按钮,来切换不同在tab页面,每个tab在页面都会有缓存机制!而且返回的时候也不会因为多次打开,而导致返回的时候多次显示。

总结:按理来说,点一次返回会回到最开始的主页面吧?就算不是直接返回到最开始页面,也不该是打开几次slice,就返回几次吧(每次切换下一个slice时,调用了当前slice的stop)?

 

代码地址:https://github.com/BuilderPattern/HarmonyOSSinitek.git

PageAbility
Slice
2020-11-12 18:28:18
浏览
已于2020-11-19 10:45:31修改
收藏 0
回答 4
已解决
回答 4
按赞同
/
按时间
蒙娜丽宁
3

所谓缓存就是仍然使用原来的slice吗?slice不释放,用present就是缓存了。如果slice里需要加载数据,也可以将数据缓存。具体看你的业务了。slice是整个页面,如果要做tab的话,我更喜欢直接用布局。效果更好。

分享
微博
QQ
微信
回复4
2020-11-12 19:02:41
蒙娜丽宁
3

另外,如果问复杂的问题,可以提供完整的源代码。

分享
微博
QQ
微信
回复1
2020-11-12 19:04:17
小囧宝宝
3

你如果想跳转多次后,返回不再逐一返回,而是直接回到首页,那么在每次跳转前都可以用terminate()销毁当前的slice。类似下面这样:

分享
微博
QQ
微信
回复1
2020-11-19 20:38:58
蒙娜丽宁
1

看了你的代码,是这个界面的问题吗?  我看切换没问题啊,用present切换到不同的slice

分享
微博
QQ
微信
回复8
2020-11-19 10:20:01
相关问题
HarmonyOS 页面切换问题
366浏览 • 1回复 待解决
如何实现上下切换页面跳转动画
1876浏览 • 0回复 待解决
多个pageAbility之间如何共享变量
1636浏览 • 1回复 待解决
如何实现page页面的横竖屏切换
391浏览 • 1回复 待解决
怎么理解pageAbility
2967浏览 • 1回复 待解决
在一个页面怎么实现多个AbilitySlice?
14186浏览 • 5回复 待解决
HarmonyOS 如何实现组件通信
295浏览 • 1回复 待解决
前端验证码配合后端的实现思路?
3356浏览 • 1回复 待解决
HarmonyOS 页面如何传参?
704浏览 • 1回复 待解决
模块页面跳转怎么跳
344浏览 • 1回复 待解决
HarmonyOS 如何模块下页面跳转?
134浏览 • 1回复 待解决
Navigation实现Tabs切换效果
1098浏览 • 1回复 待解决
如何实现应用组件的信息传递?
251浏览 • 1回复 待解决
ArkTS如何进行页面传值?
1065浏览 • 1回复 待解决
liteos-m怎么实现进程的互斥?
6091浏览 • 1回复 已解决