Ionic 页面中的离子标签

ctehm74n  于 2022-12-08  发布在  Ionic
关注(0)|答案(1)|浏览(155)

我有一个Ionic 3 Angular应用程序,我正试图升级到Ionic 6。应用程序本身没有标签,但其中有页面有标签。
一个简化的例子:
foo.html

<ion-header>
  <!-- insert header here -->
</ion-header>

<ion-content>
  <ion-tabs>
    <ion-tab-bar slot="bottom">
      <ion-tab-button tab="guide">
        <ion-icon md="map-sharp" ios="map"></ion-icon>
        <ion-label>Guide</ion-label>
      </ion-tab-button>
      <ion-tab-button tab="scan">
        <ion-icon name="barcode-sharp"></ion-icon>
        <ion-label>Scan</ion-label>
      </ion-tab-button>
    </ion-tab-bar>
  </ion-tabs>
</ion-content>

问题是如何安排它,以便在打开foo时,加载包含guide页面的foo页面,并且在foo页面的选项卡之间切换不会卸载该页面。
(我在让foo将选项卡设置为guide时没有遇到问题;问题是如何使路由器正常工作。)
我尝试过的方法以及失败的原因:

  • 使用UrlHandlingStrategy只查看最后一个组件;导致foo页面完全被guide页面替换,并且页眉和选项卡栏消失。
  • foo/guide路由到GuidePage; guide.html包含ion-virtual-scroll元素,并且它抱怨ChunkLoadError,因为它尝试从/foo/[snip]ion-virtual-scroll[snip].js加载块。同样,可能由于上述相同的原因而失败。

有什么好办法吗?

tp5buhyn

tp5buhyn1#

有多种方法来实现这一点,我将给予一些例子,但我的头顶会是:

  • 使用查询参数处理活动选项卡并具有唯一的路由
  • 在页面内使用第二个路由器处理页面内的导航

这类似于您尝试实现的目标https://ionicframework.com/docs/angular/navigation#child-routes-within-tab,实际上看起来很类似,都是使用子路由
如果您遇到困难,或者这对您不起作用,请告诉我,我可以在stackblitz中快速举一个例子

相关问题