Ionic 常用组件解析
Ionic 常用组件解析
$ionicModal(弹出窗口):
//创建一个窗口
//此处注意目录的起始位置为app
$ionicModal.fromTemplateUrl('app/security/model/regist-model.html', {
scope: $scope,
animation: 'slide-in-up'
}).then(function(modal) {
//缓存创建的窗口
$scope.registModal = modal;
});
$scope.showRegist = function(){
$scope.registModal.show();
};
$scope.hideDialog = function() {
//隐藏
$scope.registModal.hide();
//移除
//$scope.registModal.remove();
};
$ionicLoading (loading ,可以作为信息提示)
//是否不添加全屏遮罩效果 //自动消失时间
$ionicLoading.show({template:'提示信息', noBackdrop: true, duration: 1500});
$ionicPopup (弹出一个小窗口 输入框,确认框,提示框)
//1.创建一个自定义输入框
$scope.showPopup = function() {
$scope.data = {}
var myPopup = $ionicPopup.show({
template: '<input type="password" ng-model="data.wifi">',
title: 'Enter Wi-Fi Password',
subTitle: 'Please use normal things',
scope: $scope,
buttons: [{
text: 'Cancel'
},
{
text: '<b>Save</b>',
type: 'button-positive',
onTap: function(e) {
if (!$scope.data.wifi) {
//don't allow the user to close unless he enters wifi password
e.preventDefault();
} else {
return $scope.data.wifi;
}
}
}]
});
//输入后的处理
myPopup.then(function(res) {
console.log('Tapped!', res);
});
//自动消失时间
$timeout(function() {
myPopup.close(); //close the popup after 3 seconds for some reason
}, 3000);
};
//2.普通输入框
$scope.showPopup = function() {
$ionicPopup.prompt({
title: 'Password Check',
template: 'Enter your secret password',
inputType: 'password',
inputPlaceholder: 'Your password',
okText:'OK'
}).then(function(res) {
console.log('Your password is', res);
});
}
//3.确认框
$scope.showConfirm = function() {
var confirmPopup = $ionicPopup.confirm({
title: 'Consume Ice Cream',
template: 'Are you sure you want to eat this ice cream?'
});
confirmPopup.then(function(res) {
//确认
if(res) {
console.log('You are sure');
} else {//取消
console.log('You are not sure');
}
});
};
//4.提示框
$scope.showAlert = function() {
var alertPopup = $ionicPopup.alert({
title: 'Don\'t eat that!',
template: 'It might taste good'
});
//确认后的操作
alertPopup.then(function(res) {
console.log('Thank you for not eating my delicious ice cream cone');
});
};
$ionicPopover (弹出一个带箭头的小对话框)
注意调用方法时不要漏掉 $event 参数
<p>
<button ng-click="openPopover($event)">Open Popover</button>
</p>
//方法一 直接自定义
var template = '<ion-popover-view>' +
'<ion-header-bar>' +
'<h1 class="title">My Popover Title</h1>' +
'</ion-header-bar>'+
'<ion-content> Hello! </ion-content>'+
'</ion-popover-view>';
$scope.popover = $ionicPopover.fromTemplate(template, {
scope: $scope
});
//方法二 引用已存在的html
$ionicPopover.fromTemplateUrl('my-popover.html', {
scope: $scope
}).then(function(popover) {
$scope.popover = popover;
});
$scope.openPopover = function($event) {
$scope.popover.show($event);
};
$scope.closePopover = function() {
$scope.popover.hide();
};
//拥有的相关事件
//Cleanup the popover when we're done with it!
$scope.$on('$destroy', function() {
$scope.popover.remove();
});
// Execute action on hidden popover
$scope.$on('popover.hidden', function() {
// Execute action
});
// Execute action on remove popover
$scope.$on('popover.removed', function() {
// Execute action
});
ionc-list (列表的使用,包括添加按钮,删除等)
ionc-list(基本列表创建)
<ion-list>
<ion-item ng-repeat="item in items">
Hello, {{item}}!
</ion-item>
</ion-list>
ion-delete-button,ion-reorder-button (delete按钮显示在左方,reorder按钮显示在右方)

<!--
show-delete :控制是否显示删除按钮
show-reorder:控制是否显示reorder按钮
-->
<ion-list show-delete="isShowDelete" show-reorder="isShowEdit" class="my-divider-list">
<ion-item ng-repeat="studyItem in data.studyData">
<div class="item item-divider">
<span class="expect-label">学习内容:</span> <span class="expect-desc">{{studyItem.title}}</span>
</div>
<a class="item" >
<span class="expect-label">日期:</span> <span class="expect-desc">{{studyItem.date|date:'yyyy-M-dd'}}</span>
</a>
<a class="item" >
<span class="expect-label">学习明细:</span> <span class="expect-desc">{{studyItem.desc}}</span>
</a>
<!--
添加删除按钮
-->
<ion-delete-button class="ion-minus-circled" ng-click="deleteStudy(studyItem)">
</ion-delete-button>
<!--
添加reorder 按钮
-->
<ion-reorder-button class="ion-edit" ng-click="showEditStudyDialog(studyItem, $fromIndex, $toIndex)">
</ion-reorder-button>
</ion-item>
</ion-list>
ion-option-button

<!-- can-swipe="true" 添加该属性才能开启滑动附加按钮-->
<ion-list can-swipe="true">
<ion-item ng-repeat="costItem in data.costData">
<div><span class="expect-label">支出金额:</span> <span class="expect-desc">{{costItem.money}}</span></div>
<div><span class="expect-label">支出日期:</span> <span class="expect-desc">{{costItem.date|date:'yyyy-M-dd'}}</span></div>
<div><span class="expect-label">支出明细:</span> <span class="expect-desc">{{costItem.desc}}</span></div>
<!--添加滑动按钮-->
<ion-option-button class="button-info"
ng-click="showEditCost(costItem)">
修改
</ion-option-button>
<ion-option-button class="button-assertive"
ng-click="deleteCost(costItem)">
删除
</ion-option-button>
</ion-item>
</ion-list>
//该方法可以关闭已经显示的按钮
$ionicListDelegate.closeOptionButtons()
ion-slide-box (滑动卡组件)
<!--
active-slide:初始index
show-pager:是否显示下方滑动按钮
on-slide-changed:滑动事件
<ion-slide>滑动的内容
-->
<ion-slide-box active-slide="activeSlideIndex" show-pager="true" on-slide-changed = "productSlideChanged($index)">
<ion-slide ng-repeat="item in data.picTPLdata" >
<div class="list card">
<div class="item">
<h2>{{item.desc1}} <span style ="color: gray;">{{item.desc0}}</span></h2>
</div>
<div class="item item-image">
<img src="{{item.url}}">
</div>
</div>
</ion-slide>
</ion-slide-box>
ion-refresher (下拉刷新数据)
<ion-refresher pulling-text="刷新数据中.." on-refresh="doRefresh()">
</ion-refresher>
$scope.doRefresh = function() {
FGOService.getNoteData()
.then(function(result){
$scope.data.noteData = result;
//关闭刷新提示
$scope.$broadcast('scroll.refreshComplete');
})
};
Ionic 常用组件解析的更多相关文章
- Ext 常用组件解析
Ext 常用组件解析 Panel 定义&常用属性 //1.使用initComponent Ext.define('MySecurity.view.resource.ResourcePanel' ...
- lonic常用组件之五------按钮
一.Ionic常用组件之五------按钮 <ion-button color="主题色" size="small/large" expand=& ...
- .NetCore中的日志(1)日志组件解析
.NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包 ...
- Android常用组件
UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...
- Android常用组件【转】
UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...
- 最全面 Nginx 入门教程 + 常用配置解析
转自 http://blog.csdn.net/shootyou/article/details/6093562 Nginx介绍和安装 一个简单的配置文件 模块介绍 常用场景配置 进阶内容 参考资料 ...
- 【转】【Nginx】Nginx 入门教程 + 常用配置解析
== Nginx介绍和安装 == Nginx是一个自由.开源.高性能及轻量级的HTTP服务器及反转代理服务器, 其性能与IMAP/POP3代理服务器相当.Nginx以其高性能.稳定.功能丰富.配置简单 ...
- android开发常用组件【持续更新中。。。】
UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...
- React Native组件(三)Text组件解析
相关文章 React Native探索系列 React Native组件系列 前言 此前介绍了最基本的View组件,接下来就是最常用的Text组件,对于Text组件的一些常用属性,这篇文章会给出简单的 ...
随机推荐
- 【JAVAWEB学习笔记】01_HTML
案例一:网站信息显示页面1.什么是HTML?(Hyper Text Markup Language:超文本标记语言) 超文本:功能比普通文本更加强大 标记语言:使用一组标签对内容进行描述的一门语言(它 ...
- Jetty + HttpClient 处理http请求
本人最近通过自己动手处理http请求,对http协议.Jetty以及HttpClient有了更深刻的理解,特在此与大家分享. 此图是http协议的请求格式.根据请求方法,有get和post之分.get ...
- 【CSS Cookbook】笔记摘要(一)
概要 CSS的优点:将表现和内容相分离:更好地控制页面布局:大大减少了文件尺寸:缩短了改版时间:提高了易用性. CSS全称层叠式样表(Cascading Style Sheets). 1.问题:如何最 ...
- 面试(1)-java-se-字符串
http://blog.csdn.net/zhangerqing/article/details/8093919 hashCode和identityHashCode的区别 I. hashCode()方 ...
- java集合(4)- java中HashSet详解
HashSet 的实现 对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,查看 HashSe ...
- Html_Task4(知识点:水平居中+垂直居中/position/float/border-radius)
任务四:定位和居中问题 任务目标 实践HTML/CSS布局方式 深入了解position等CSS属性 任务描述 实现如 示例图(点击打开) 的效果 灰色元素水平垂直居中,有两个四分之一圆位于其左上角和 ...
- RavenDB FS 安装使用 介绍
前言 最近项目因为要存储图片和文件,折腾了RavenDB,使用RavenDB的FS系统统一管理图片和文件. 安装 RavenDB 的FS文件系统,需要用到windows的远程差分压缩功能: 安装好之后 ...
- python语言精粹《一》
第一章 静态语言:需要声明类型.变量不能改变类型! 动态语言:(也称脚本语言)主要的应用场景都是很短的应用程序(脚本),比如给静态语言编写的程序进行数据预处理.这样的程序通常也统称胶水代码. pyth ...
- 2017年Web前端开发工程师薪资越来越高?
放眼全球,不仅在国内的互联网行业,在国外,前端工程师一样是需求旺盛.供不应求的香饽饽.所以在供不应求的前端招聘市场上,优秀的前端工程师才是有话语权的那一方. 前端开发是做什么的? 前端是互联网时代软件 ...
- canvas水波纹效果
先看效果 演示效果 自然界中水波纹效果十分麻烦,我这里只是根据水波纹的几个特性,在理想环境下模拟水波纹的扩散效果. 这里应用到的属性有:扩散.波动.折射. 扩散:很好理解,水波纹会从触发原点开始向周围 ...