Как отключить пользовательские переходы страниц Angular / Ionic, когда не используется мобильное устройство - PullRequest
2 голосов
/ 09 апреля 2019

У меня есть приложение Angular / Ionic, которое может работать как на нативном, так и в Интернете (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
    }
}),

1 Ответ

2 голосов
/ 16 апреля 2019

Я сделал это, чтобы отключить анимацию страниц (в Интернете и на телефоне):

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);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...