9,list
用来显示信息列表,如联系人列表、播放列表或菜单。
<!-- 普通list -->
<ion-list >
<ion-item>item1</ion-item>
<ion-item>item2</ion-item>
<ion-item>item3</ion-item>
</ion-list>
demo :
<!-- 分组list -->
<ion-list >
<ion-item-group>
<ion-item-divider style="font-size:12px" >江苏</ion-item-divider>
<ion-item >南京</ion-item>
<ion-item >无锡</ion-item>
<ion-item >苏州</ion-item>
<ion-item-divider style="font-size:12px" >上海</ion-item-divider>
<ion-item >浦东区</ion-item>
<ion-item >虹口区</ion-item>
<ion-item >徐汇区</ion-item>
</ion-item-group>
</ion-list>
<!-- 图标list -->
<ion-list>
<ion-item>
<ion-icon slot="start" name="home"></ion-icon>
首页
<ion-note item-end>更多</ion-note>
</ion-item>
<ion-item>
<ion-icon slot="start" name="mail"></ion-icon>
邮件
<ion-note item-end>查看</ion-note>
</ion-item>
</ion-list>
demo
<!-- 带img的list -->
<ion-list>
<ion-item>
<ion-avatar item-start>
<img src="../../assets/image/1.png"/>
</ion-avatar>
<h3>小张</h3>
<p>你打球像cxk</p>
</ion-item>
<ion-item>
<ion-avatar item-start>
<img src="../../assets/image/2.png"/>
</ion-avatar>
<h3>小三</h3>
<p>你打球像cxk</p>
</ion-item>
<ion-item>
<ion-avatar item-start>
<img src="../../assets/image/3.png"/>
</ion-avatar>
<h3>小王</h3>
<p>你打球像cxk</p>
</ion-item>
</ion-list>
ion-item-sliding滑块显示操作,ion-item-options side=“right” 控制方向
<ion-list>
<ion-item-sliding>
<ion-item>
<ion-avatar item-start>
<img src="../../assets/image/2.png">
</ion-avatar>
<h3>前端学习群</h3>
<p style="font-size:12px">前端小白:有人在吗</p>
<ion-badge style="font-size:12px" color="danger" item-right>99+</ion-badge>
</ion-item>
<ion-item-options side="right">
<button ion-button color="danger">
删除
</button>
</ion-item-options>
</ion-item-sliding>
</ion-list>
demo
Item Thumbnail显示了一个占据项高度的图片。在项内添加ion-thumbnail组件来使用。缩略图的位置通过item-left和item-right属性来设置:
<ion-list>
<ion-item>
<ion-thumbnail item-left>
<img src="../../assets/image/2.png">
</ion-thumbnail>
<h3>布偶小鸡</h3>
<p>这是布偶小鸡的介绍</p>
<button clear item-right>详情</button>
</ion-item>
<ion-item>
<ion-thumbnail item-left>
<img src="../../assets/image/2.png">
</ion-thumbnail>
<h3>布偶小鸡</h3>
<p>这是布偶小鸡的介绍</p>
<button clear item-right>详情</button>
</ion-item>
<ion-item>
<ion-thumbnail item-left>
<img src="../../assets/image/2.png">
</ion-thumbnail>
<h3>布偶小鸡</h3>
<p>这是布偶小鸡的介绍</p>
<button clear item-right>详情</button>
</ion-item>
</ion-list>
11,slides
主要是来实现新手教程、轮播图。。
ion-slides
ion-slide
…
ion-slides所支持的属性:
effect:
slide, fade, cube, coverflow or flip.
Default: slide.
效果:
滑动、渐变、立方体、覆盖流或翻转。
默认值:幻灯片。
speed //切换速度
autoplay //设置自动轮播 true/false
direction:horizontal/vertical //方向:水平/垂直
loop=true //循环轮播
pager( 小圆点 )
paginationType:
bullets(小圆点),
fraction(*/3),
progress(可视化的进度条)
<ion-content padding>
<ion-slides pager autoplay=1000 loop=true speed=2000>//想要的效果可以加这个属性里面
<ion-slide>
<h1>第一页</h1>
</ion-slide>
<ion-slide>
<h1>第二页</h1>
</ion-slide>
<ion-slide>
<h1>第三页</h1>
</ion-slide>
</ion-slides>
</ion-content>
12,LoadingController
1、引入
import {LoadingController} from 'ionic-angular'
2、实例化
constructor(public myLoadCtrl:LoadingController){}
showLoading(){
let myLoading =
this.myLoadCtrl.create(
{
content:'正在刷新数据',
// duration:3000
}
);
myLoading.present();
// 4s延迟之后,手工关掉加载中的窗口
setTimeout(
()=>{
myLoading.dismiss();
},
4000
)
}
13,refresher上拉刷新,下拉加载更多
①指定一个对应的组件标签
在ion-content的第一个子元素
<ion-refresher>
<ion-refresher-content
refreshingSpinner="dots"
refreshingText="正在获取数据中"
pullingIcon=""
pullingText="">
</ion-refresher-content>
</ion-refresher>
②指定下拉刷新要执行的操作
<ion-refresher (ionRefresh)="doRefresh()">
</ion-refresher>
③结束掉刷新动作
第一步:在触发ionRefresh事件的处理函数,指定$event作为参数
doRefresh($event)
第二步:调用complete方法
doRefresh(refresher){
refresher.complete();
}
上拉加载更多
①调用
在ionContent的最后一个子元素的位置调用
<ion-infinite-scroll>
<ion-infinite-scroll-content
loadingSpinner="dots"
loadingText="正在加载更多"
>
</ion-infinite-scroll-content>
</ion-infinite-scroll>
②绑定事件
<ion-infinite-scroll
(ionInfinite)="loadMore($event)"
>
</ion-infintie-scroll>
③结束加载更多的刷新动作
loadMore(infinite){
infinite.complete();
}
10,forms
input
Fixed Labels
使用fixed属性在Input元素左侧放一个Label。这个Label在输入文本的时候不会消失。Input会对齐到相同的位置,不管Label是什么长度。占位文本也可以和Fixed Label一起使用。
<ion-list>
<ion-item>
<ion-label fixed>用户名</ion-label>
<ion-input type="text" value=""></ion-input>
</ion-item>
<ion-item>
<ion-label fixed>密码</ion-label>
<ion-input type="password"></ion-input>
</ion-item>
</ion-list>
Floating Labels
Floating Labels当选择输入的时候会浮动到上方。给ion-lable添加floating属性来使用。
<ion-list>
<ion-item>
<ion-label floating>用户名</ion-label>
<ion-input type="text"></ion-input>
</ion-item>
<ion-item>
<ion-label floating>密码</ion-label>
<ion-input type="password"></ion-input>
</ion-item>
</ion-list>
Inline Labels
没有任何属性的ion-label是一个Inline Label,输入的时候不会消失。可以与占位文本一起使用。
<ion-list>
<ion-item>
<ion-label>用户名</ion-label>
<ion-input type="text"></ion-input>
</ion-item>
<ion-item>
<ion-label>密码</ion-label>
<ion-input type="password"></ion-input>
</ion-item>
</ion-list>
会受到长度影响
Placeholder Labels
为input元素添加placeholder属性,当输入文本的时候,占位文本会消失。
<ion-list>
<ion-item>
<ion-input type="text" placeholder="用户名"></ion-input>
</ion-item>
<ion-item>
<ion-input type="password" placeholder="密码"></ion-input>
</ion-item>
</ion-list>
开关组
<ion-list>
<ion-item>
<ion-label>开关</ion-label>
<ion-toggle checked="true"></ion-toggle>
</ion-item>
</ion-list>
复选框
<ion-list>
<ion-item>
<ion-label>您同意以下条款内容吗</ion-label>
<ion-checkbox checked="false" ></ion-checkbox>
</ion-item>
</ion-list>
<ion-list>
<ion-item>
<ion-label>你所掌握的知识内容</ion-label>
</ion-item>
<ion-item>
<ion-label>Angular</ion-label>
<ion-checkbox checked="false" ></ion-checkbox>
</ion-item>
<ion-item>
<ion-label>Vue</ion-label>
<ion-checkbox checked="false" ></ion-checkbox>
</ion-item>
<ion-item>
<ion-label>Jquery</ion-label>
<ion-checkbox checked="false" ></ion-checkbox>
</ion-item>
<ion-item>
<ion-label>Ionic</ion-label>
<ion-checkbox checked="true" ></ion-checkbox>
</ion-item>
</ion-list>
单选框
<ion-list radio-group>
<ion-list-header>
请选择您的性别
</ion-list-header>
<ion-item>
<ion-label>男</ion-label>
<ion-radio checked="true" value="box"></ion-radio>
</ion-item>
<ion-item>
<ion-label>女</ion-label>
<ion-radio checked="false" value="girl"></ion-radio>
</ion-item>
</ion-list>
下拉框
<ion-item>
<ion-label>您所在的城市</ion-label>
<ion-select [(ngModel)]="city"> //city='sh';
<ion-option value="bj" >北京</ion-option>
<ion-option value="sh" >上海</ion-option>
<ion-option value="js" >江苏</ion-option>
</ion-select>
</ion-item>
12,页面间跳转
普通跳转,引入-声明-跳转
import { Demo05Page} from '../demo05/demo05'
demo05=Demo05Page;
<button ion-button [(navPush)]="demo05">去demo05</button>
js中 引入-定义函数-绑定
import { Demo05Page} from '../demo05/demo05'
jump(){
this.navCtrl.push(Demo05Page)
}
<button ion-button (click)="jump()">去demo05</button>
js中传参
<button ion-button (click)="jumpName()">去demo10</button>
jumpName(){
this.navCtrl.push(Demo10Page,{userName:this.uname})
}
demo10中
uName:string=""
ionViewDidLoad() {
console.log(this.navParams.data);
this.uName=this.navParams.data.userName; //两种接收方式
this.uName=this.navParams.get('userName');
}
返回
<button (click)="backToPre()">返回上一级</button>
backToPre(){
this.navCtrl.pop()
}
<ion-tab tabIcon="home" tabsHideOnSubPages: 'true' tabTitle="首页" [root]="index" ></ion-tab>
tabsHideOnSubPages: 'true', //隐藏全部子页面tabs
backButtonText: "返回" /*修改返回按钮为返回(默认是)*/