# Template **Repository Path**: yesyon/template ## Basic Information - **Project Name**: Template - **Description**: 对ionic3结合angular4的更新,写一个对应的模板。在里面进行一些常用功能的封装和实现,便于开发使用。 - **Primary Language**: TypeScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-04-23 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #Template ##功能一:定义全局变量方法 在app文件夹内新建文件app.config.ts文件,并设置全局变量(详细代码见app.config.ts) 使用方法:先import AppConfig然后使用AppConfig.Url进行使用 ##功能二:创建providers对http请求进行封装 使用命令:ionic g provider http-util生成一个providers文件夹里面会生成http-util.ts文件 使用方法:在app.module.ts文件中引入HttpUtil,并在该文件的providers中依赖,然后在http-util.ts文件中查看http请求的详细方法(这里只做了对post的请求的处理,因为post请求的参数需要我们进行序列化,否则后台可能会接收不到参数)。 ##功能三:使用Lazy Loading加速应用 因为我们使用命令创建的项目是基于ionic2,我们首先要使用ionic3的新特性Lazy Loading就必须对我们的项目进行更改。下面就以修改home页为例。 ####第一步: 移除app.module.ts中declarations, entryComponents的 HomePage,并移除 ``` import { HomePage } from '../pages/home/home' ``` 这一项; ####第二步: 在home文件夹内新建文件home.module.ts,并在该文件中填入以下代码 ``` import { NgModule } from '@angular/core'; import { HomePage } from './home'; import { IonicPageModule } from 'ionic-angular'; @NgModule({ declarations: [HomePage], imports: [IonicPageModule.forChild(HomePage)], }) export class HomePageModule { } ``` ####第三步: 在home.ts文件中添加@IonicPage装饰器,并导入 ``` import { IonicPage } from 'ionic-angular'; ``` 如下格式: ``` ... @IonicPage() @Component({ selector: 'page-home', templateUrl: 'home.html' }) export class HomePage { //省略代码 } ... ``` ####第四步: 移除tabs.ts文件中的 ``` import { HomePage } from '../pages/home/home' ``` 这一项 ####第五步: 在构建过程中,将生成HomePage组件的深层链接,知道如何处理该字符串。 该字符串实际上是对'@ IonicPage'装饰器的`name`属性的引用,它默认为类名作为字符串。 如果我们将该名称属性更改为其他内容,我们还需要更新我们在其他地方使用的引用。 所以我们需要修改home.ts文件中的 ``` @IonicPage()为@IonicPage({name:'home'}), ``` 并修改tabs.ts文件中 ``` tab1Root = 'HomePage'为tab1Root = 'home'; ``` ##功能四:安卓返回键监听和处理 备注: 因为国内网络的原因,作者在使用git托管的时候修改了gitignore文件,将相关的node_modules、platforms、plugins、www等文件一起上传到了git上面,所以文件可能会有点大,还请谅解。