ionic4关于ion-tabs的研究

落花浮王杯 提交于 2019-12-02 10:33:51

最近在研究ionic4,对ion-tabs的用法有疑惑

在tab模块里的写法

tab.html

<ion-tabs selectedIndex="{{constants.rootTab}}">
  <ion-tab [root]="tab1Root" tabTitle="主页" tabIcon="home"></ion-tab>
  <ion-tab [root]="tab2Root" tabTitle="进销存" tabIcon="inventory"></ion-tab>
  <ion-tab [root]="tab3Root" tabTitle="商城" tabIcon="shop"></ion-tab>
  <ion-tab [root]="tab4Root" tabTitle="我的" tabIcon="mine"></ion-tab>
</ion-tabs>

tab.ts

  tab1Root = 'HomePage'
  tab2Root = 'InventoryPage';
  tab3Root = 'ShopPage';
  tab4Root = 'RegisterMinePage';

在app.component.ts里的写法

.....import { TabsPage } from '../pages/tabs/tabs';
.......
rootPage:any = TabsPage;

为什么一个是字符串,一个是模块名称?

查阅相关资料后,了解到是ionic懒加载懒加载的问题
https://blog.csdn.net/qq_18948359/article/details/80188328

 ionic懒加载 简介   
使用懒加载能够减少程序启动时间,减少打包后的体积。并且懒加载是当点击,触发的时候才去加载,所以程序启动的时间比较快。
配置懒加载需要以下几个步骤:
 1.给需要懒加载的页面配置module.ts;
 2.在对应页面的.ts文件里增加@IonicPage()特性;
3.在app.module.ts移除页面引用;
4.使用懒加载(在调用这个界面的地方,不 import界面,使用 string,组件名称字符串就是懒加载,ionic会帮我们注册组件和找到该组件。)

所以在home.ts文件加上@IonicPage()

@IonicPage()
@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})

就能愉快地使用字符串啦

tab1Root = 'HomePage'
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!