有人知道如何在导航到新页面后禁用后滑动吗?
清除页面导航历史记录在NativeScript的页面导航中, 您可以选择导航到另一个页面并清除页面 导航历史。这意味着用户将无法前往 返回使用后退按钮(或在iOS中向后滑动)。这很有用 您有登录页面并且不希望用户的情况 能够在登录后再回到它。 但我希望在用户点击退出时返回登录页面。
我有2页,LoginPage和FirstPage。我正在使用RouterExtensions。所以this.nav.navigate([“/ firstPage”],{clearHistory:true}); 这很有效。 在第二页,我有一个按钮,转到this.nav.navigate([“/”])(所以回到登录页面)。但是我得到了
8月11日19:30:26 antons-MBP appname [62814]:CONSOLE ERROR file:///app/tns_modules/zone.js/dist/zone-node.js:421:23:错误: 未捕获(承诺):TypeError:undefined不是对象 (评估'cacheItem.reusedRoute')
答案 0 :(得分:0)
我在导航到新页面时测试clearHistory
,似乎一切都按预期工作。您能否验证是否使用最新的CLI和模块。您可以在此处找到说明,其中描述了如何升级到最新的NativeScript。关于这一点,您需要升级激动人心的项目中的tns-core-modules
和nativescript-angular
,您可以按照下面的说明进行操作。
tns plugin remove tns-core-modules
tns plugin add tns-core-modules@2.2.0
tns plugin remove nativescript-angular
tns plugin add nativescript-angular@0.3.0
您还可以查看我的示例应用here,以及如何在NativeScript Angular中使用clearHistory
。
答案 1 :(得分:0)
我可以通过插入以下代码来禁用每页的滑动手势
constructor(private nav: RouterExtensions) {
this.nav.frame.ios.controller.interactivePopGestureRecognizer.enabled = false;
}
这种方式我不需要修改库,但缺点是我必须在每个我希望后面滑动工作的页面上重新启用“interactivePopGestureRecognizer”。