vit*_*lym 7 ionic-framework ionic2 angular
我已经在根组件和模块配置中全局禁用了"向后滑动"
<ion-nav #appNav [root]="rootPage" swipeBackEnabled="false"></ion-nav>
...
IonicModule.forRoot(MobileApplication, {swipeBackEnabled: false}),
...
Run Code Online (Sandbox Code Playgroud)
我需要只为一页启用它.所以试图通过将nav实例传递给构造函数然后将swipeBackEnabled设置为true来设置它.
ionViewWillEnter() {
this.nav.swipeBackEnabled = true;
console.log('swipeBackEnabled ' + this.nav.swipeBackEnabled);
console.log('canGoBack ' + this.nav.canGoBack());
console.log('canSwipeBack ' + this.nav.canSwipeBack());
}
Run Code Online (Sandbox Code Playgroud)
记录swipeBackEnabled并且canGoBack返回true,但canSwipeBack返回false.如果我在模板中的某处添加滑动事件并在右侧滑动时记录这些值,则会将所有值记录为true.然而,没有任何反应,似乎刷回来不起作用?我错过了什么吗?
作为参考,我使用的是Ionic 3.9.2和@ ionic/app-scripts 3.1.4.提前致谢
我不完全确定这里的技巧是什么,但以下设置使它对我有用:
public ionViewWillEnter(): void {
this.appNav.swipeBackEnabled = true;
}
public ionViewDidLeave(): void {
this.appNav.swipeBackEnabled = false;
}
Run Code Online (Sandbox Code Playgroud)
这里的 appNav 是 ionic NavController 的一个实例。我还没有完全理解为什么在其他生命周期挂钩中设置 swipeBackEnabled 没有成功,所以我稍后将继续调查。对于可能遇到同样问题的人来说,这可能是一个起点。
| 归档时间: |
|
| 查看次数: |
6433 次 |
| 最近记录: |