在Nativescript / angular中处理向后路由的推荐方法?

问题描述 投票:0回答:1

随着我们的页码数量的增长,我开始遇到阻止重复帧的困难,尤其是在使用侧抽屉时。如果我导航A - > B - > A,我将最终得到3个实例,2个A和1个B.这意味着我必须以某种方式决定导航是真实导航还是“backToPreviousPage”。

理想情况下,我应该只能放入一条路线,它会智能地决定做什么,例如:

router.navigate(['A'])
router.navigate(['B'])
router.navigate(['A'])

应该等于A - 导航 - > B - backToPreviousPage - > A.

现在,我的计划是提供一项服务来记录导航到的最后一条路线。这样我就可以执行myService.navigate()并根据当前路由是否与之前的路由匹配,自动决定是否应该进行实际导航或使用routerExtensions.backToPreviousPage()。

在我这样做之前,我想确保没有一些明显的方法我应该处理这个。这种做法似乎是一种肮脏的方式。对我来说,似乎Nativescript路由器应该默认处理这个,但我已经确认我的A - > B - > A场景重新运行ngOnInit,我还没有看到任何可以实现这一点的选项。

nativescript angular2-nativescript
1个回答
0
投票

页面路由器插座应该跟踪堆栈/历史记录中的内容。根据网址细分,您可以决定是要导航回导航还是导航到新组件。

constructor(pageRouterOutlet: PageRouterOutlet) {
    // `outlet` is private
    (<any>pageRouterOutlet).outlet.states.forEach((state) => {
        console.log(state.segmentGroup);
    });
}
© www.soinside.com 2019 - 2024. All rights reserved.