我有一个 Angular/Ionic 应用程序,可以在 native 和 Web(iPhone、Android 和 Web)上运行。我设置了一个自定义页面过渡动画,它在移动设备上看起来不错,但在桌面等大屏幕上看起来很奇怪,所以我想禁用这些动画并进行传统的页面加载,就像您在普通网站上看到的那样。
我的 app.module
导入包含以下行,覆盖传统的滑动动画:
IonicModule.forRoot({
navAnimation: myTransitionAnimation
}),
我知道 Platform
以及如何使用它来识别应用程序当前正在运行的内容,如下所示:
this.platform.is('mobile')
但这样做只能在 app.component.ts
中使用,而不能在 app.module 中使用。 ts
...对吗?
所以基本上我的问题是如何在我的 app.module.ts
(伪代码)中最好地执行以下操作
IonicModule.forRoot({
if(isMobileDevice) {
navAnimation: myTransitionAnimation
} else {
animated: false //the key/value to disable transition animations
}
}),
最佳答案
我这样做是为了禁用页面动画(在网络和手机中):
import { Animation } from '@ionic/core'
...
IonicModule.forRoot({
backButtonText: '',
mode: 'ios',
navAnimation: (AnimationC: Animation): Promise<Animation> => { return Promise.resolve(new AnimationC()); }
}),
然后我在打开新页面时用它来制作动画:https://github.com/Telerik-Verified-Plugins/NativePageTransitions
constructor(
private nav: NavController,
private transition: NativePageTransitions
) { }
public push(url: string): void {
this.transition.slide({ direction: 'up', duration: 350 });
this.nav.navigateForward(url);
}
关于angular - 不使用移动设备时如何禁用自定义 Angular/Ionic 页面转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55583239/