0

有谁知道导航到新页面后如何禁用向后滑动?

我读到这个:http ://docs.nativescript.org/angular/core-concepts/angular-navigation#clearing-page-navigation-history

清除页面导航历史 在 NativeScript 的页面导航中,您可以选择导航到另一个页面并清除页面导航历史。这意味着用户将无法使用返回按钮返回(或在 iOS 中滑动返回)。这在您有一个登录页面并且您不希望用户在登录后能够返回它的情况下很有用。 但是我想在用户单击注销时返回登录页面。

我有 2 页,LoginPage 和 FirstPage。我正在使用路由器扩展。所以 this.nav.navigate([“/firstPage"], { clearHistory: true}); 这行得通。在第二页我有一个按钮可以转到 this.nav.navigate([“/”]) (所以回到登录页面)。但我明白了

8 月 11 日 19:30:26 antons-MBP appname[62814]:控制台错误文件:///app/tns_modules/zone.js/dist/zone-node.js:421:23:错误:未捕获(承诺): TypeError:未定义不是对象(评估'cacheItem.reusedRoute')

4

2 回答 2

0

通过插入以下代码,我能够禁用每页的滑动手势

constructor(private nav: RouterExtensions) {

    this.nav.frame.ios.controller.interactivePopGestureRecognizer.enabled = false;

  }

这样我就不必修改库,但缺点是我必须在我想要向后滑动的每个页面上重新启用“interactivePopGestureRecognizer”。

于 2016-08-15T18:13:57.693 回答
0

clearHistory在导航到新页面时进行了测试,似乎一切都按预期工作。您能否验证一下您是否使用的是最新的 CLI 和模块。您可以在此处找到说明,其中描述了如何升级到最新的 NativeScript。关于它,您需要升级tns-core-modulesnativescript-angular在令人兴奋的项目中,您可以按照以下说明进行操作。

  1. tns plugin remove tns-core-modules
  2. tns plugin add tns-core-modules@2.2.0
  3. tns plugin remove nativescript-angular
  4. tns plugin add nativescript-angular@0.3.0

您还可以在这里查看我的示例应用程序,了解如何clearHistory在 NativeScript Angular 中使用。

于 2016-08-12T10:37:20.223 回答