【发布时间】:2018-03-28 00:26:03
【问题描述】:
我正在使用 Ionic 2 并有一组选项卡。每个选项卡都有自己的导航堆栈。
用户可以深入到任何选项卡的几页,然后切换选项卡。
问题是选项卡 1 中的交互会影响选项卡 2 的内容。我发现如果用户以特定顺序执行某些操作,则会出现错误:
运行时错误
未捕获(承诺):找不到 removeView
我认为这是因为 Ionic 正试图删除一个由于内容已更改而不再存在的视图。
在选项卡 1 中,用户按下按钮加载选项卡 2。应用程序将他们所做的选择保存在本地存储中,然后选项卡 2 在根页面上加载。我使用以下代码选择 Tab 2:
this.navCtrl.parent.select(1);
我相信我可以通过在选择选项卡时转到导航堆栈的根来防止这个问题,但我该怎么做呢?
我试过了:
this.navCtrl.parent.select(1);
this.navCtrl.parent.goToRoot();
但是有了这个,什么都没有发生。选项卡没有变化,也没有错误。
那么,我的问题是:如何更改选项卡并从另一个选项卡导航到导航堆栈的根?
【问题讨论】:
-
您可以设置选项卡 1 的根目录 (this.navCtrl.setRoot(tab1))。如果这对您不起作用,请将您的代码放在可以重现此问题的 plunker 中。
标签: javascript angular typescript ionic-framework ionic2