- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 onItemTap() 事件路由到名为“comdataApproval”的新详细信息组件。在用户做了一些事情之后,将它们导航回“主组件”。我不希望用户在从该详细信息组件重定向后能够导航回该详细信息组件。我使用 skipLocationChange: true
来尝试实现这一点。
当他们单击主要组件上的后退按钮时,它会按照您的预期进行操作,并将他们导航到他们在访问“主组件”之前所在的组件。 但是,在此过程中,“comdataApproval”组件会在屏幕上显示一小段时间(不到一秒),然后用户会被导航到正确的组件。
constructor(private router: RouterExtensions, private activatedRoute: ActivatedRoute, private comdataService: ComdataService) {
// Use the component constructor to inject providers.
}
onItemTap(args){
let navigationExtras : NavigationExtras ={
queryParams: {
index: args.index,
comdataRecords: JSON.stringify(this.comdataRecords)
},
skipLocationChange: true
};
this.router.navigate(["/comdataApproval"], navigationExtras);
}
导航回主组件。
.then(() => {
//do routing here
this.router.navigate(["/comdata"]);
});
我不确定为什么要显示此组件。这就像应用程序导航到详细信息组件,然后导航回历史记录中的正确组件。有什么方法可以防止发生这种短暂的“暂停”?
编辑:示例导航:
主页 -> comdataPage -> comdataApproval -> comdataPage
从这里可以按下后退按钮。如果按下它应该转到主页,而不是 comdataApproval 页面。但是,当它被按下时,它会转到 comdataApproval 页面,然后转到主页,而不是直接转到主页。
最佳答案
首先,您必须隐藏默认的 NavigationButton
并放置您自己的看起来像后退按钮的 ActionItem
。在 Android 上,您还必须收听 activityBackPressed。事件并取消后退导航。
然后当用户点击您的 ActionItem
时导航到 comdata
并将 clearHistory
标志设置为 true
(自定义返回按钮)。对于 Android,您也必须在 activityBackPressed
事件中执行相同的操作,以便跨平台保持行为完整。
this.router.navigate(["/comdata"], { clearHistory: true });
关于angular - 在 NativeScript/Angular 应用程序中使用 skipLocationChange 会导致 'skipped location' 短暂出现在屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54598020/
Angular 6 中的路由 当我路由到一个特定位置时,我会使用 route.navigate(['/home'], { skipLocationChange: true }); 但是当返回到之前的路
我有一些路由模块,其主要路径设置为:/canvas const canvasRoutes: Routes = [ { path: "canvas", component: Ca
我正在使用 onItemTap() 事件路由到名为“comdataApproval”的新详细信息组件。在用户做了一些事情之后,将它们导航回“主组件”。我不希望用户在从该详细信息组件重定向后能够导航回该
我是一名优秀的程序员,十分优秀!