Ionic2 对同一页面执行nav.push操作会导致离子2中出现奇怪的过渡效果

Ionic2 对同一页面执行nav.push操作会导致离子2中出现奇怪的过渡效果,ionic2,Ionic2,在一个应用程序上工作,这是一个有几个级别的游戏,每个级别大约有20个问题 我没有为每个问题创建一页,而是为每个级别创建一页,然后通过angular的switch语句在模板中细分该页,如下所示: <div id="level-2-screen-3" *ngSwitchCase="3"> // The content </div> <div id="level-2-screen-4" *ngSwitchCase="4"> // The content </d

在一个应用程序上工作,这是一个有几个级别的游戏,每个级别大约有20个问题

我没有为每个问题创建一页,而是为每个级别创建一页,然后通过angular的switch语句在模板中细分该页,如下所示:

<div id="level-2-screen-3" *ngSwitchCase="3"> // The content </div>
<div id="level-2-screen-4" *ngSwitchCase="4"> // The content </div>
//内容
//内容
本例中的开关盒将关闭当前问题编号

除了页面转换外,这种方法效果很好,因为在nav.push之间,问题数量不断增加,这意味着从左到右进入的“传入”页面现在看起来与“上一个”页面相同。因此,看起来同一页重叠了

我能想到的唯一解决方案是为每个级别创建一个alt,它具有相同的代码,但在nav.push之间交替,这样它总是进入一个新页面

所以页面推送看起来像

级别1页

Level1AltPage

级别1页

Level1AltPage

相对于

级别1页

级别1页

级别1页

级别1页


好奇是否有人有更好的解决方案?谢谢

你的问题让我想起了古老的计算机智慧:

与其减少延迟,不如隐藏它

--计算机系统设计原理:介绍,Saltzer和Kaashoek

在您的情况下,该原则可能会鼓励一些开箱思维。为什么不显示一个覆盖整个屏幕的覆盖图(或者可能只是问题本身)和一个很酷的加载图形?即使是对问题进行像素化的“审查”也可以很好地解决问题,并增加一些轻微的悬念。只需勾入一些爱奥尼亚的,以显示和隐藏它-例如

  • ionViewWillLeave
    中设置一个显示加载/转换状态的布尔类属性
    isPageLoading
    ,然后
  • ionViewWillEnter
    IONVIEWDIENTER
    中清除它