上一篇把ionic的大概介绍讲解了,这一篇咱们开始来具体的开发
这个demo只写了三个页面,一个列表一个我的中心,主要介绍组件和Cordova的使用,成图以下
ionic
,cordova
;npm install -g ionic cordova
ionic start demo blank
;这个blank
不固定,具体能够看CLI中的相关命令ionic serve
运行项目。会默认打开浏览器,这时就能够看到默认页面了components
里面的tab组件写ionic g page index
,ionic g page my
相关代码以下html
home.html <ion-tabs> <ion-tab tabIcon="home" [root]="index" tabTitle='首页'></ion-tab> <ion-tab tabIcon="person" [root]="my" tabTitle='个人'></ion-tab> </ion-tabs> home.ts export class HomePage { index = 'IndexPage' my = 'MyPage' constructor(public navCtrl: NavController) { } }
ionic
卡片列表式,上拉加载(通常使用list作列表,要根据本身的实际用途,想要的效果选择)ionic g providers inter-ser
建立一个接口服务,在这里面统一写接口对接。(实际开发中建议增长一个http
处理serve
,能够对接口访问前作拦截处理,对返回后的数据作统一处理好比返回错误处理,异常处理等等)。写http
请求须要在app.module.ts
全局引入HttpClientModule
。部分代码以下:ios
.ts ionViewWillEnter() { this.loaded = false this.list = [] this.params.pageNum = 1 this.setLoader() this.getData() } getData() { if (this.loading) return this.inter.getJokeList(this.params).subscribe((data) => { this.loaded = true this.list = this.list.concat(data['data']) this.total = data['total'] if (this.params.pageNum === 1) this.loader.dismiss() if (this.params.pageNum > 1) this.infiniteScroll.complete() }) } doInfinite(infiniteScroll) { if (this.list.length < this.total) { this.infiniteScroll = infiniteScroll this.params.pageNum++ this.getData() } else { infiniteScroll.enable(false) } } /** * 这种类型的方法建议写成全局方法 */ setLoader() { this.loader = this.loadingCtrl.create({ content: '加载中...', spinner: 'ios-small' }) this.loader.present() } .html <div *ngIf="loaded && list.length > 0"> <div *ngFor="let item of list"> <ion-card> <ion-card-header> {{item.title}} </ion-card-header> <ion-card-content> {{item.content}} </ion-card-content> <p class="update-time">{{item.updateTime}}</p> </ion-card> </div> </div> <div class="no-data" *ngIf="loaded && list.length === 0">暂无数据</div> <ion-infinite-scroll (ionInfinite)="doInfinite($event)"> <ion-infinite-scroll-content loadingText="加载中..."></ion-infinite-scroll-content> </ion-infinite-scroll>
这章主要操做的仍是webview,不涉及到移动设备的,基本能够在浏览器上完成。接下来的一章大概说一下Cordova的使用以及部分结尾相关工做web