Ionic开发遇到的坑整理
1、修改tabs页的图标,关键是 outline
在使用自定义图标的时候,需要修改 /theme/icons.scss 文件,但是如何定义选中前后的分别使用哪个图标呢
定义选中前的状态
.ion-ios-data-outline::before { content: url("../assets/fonts/dataIcon.svg");}
定义选中后的状态
.ion-ios-file:before { content: url("../assets/fonts/fileIcon2.svg");}
2、ts 中获取html 参数的值,segment 是e.value, select是e,不能用e.value
<ion-segment [(ngModel)]="choice" (ionChange)="segmentChanged($event)">
segmentChanged(e) {
if (e.value == "choice1") {
this.clickChart1();
} else if (e.value == "choice2") {
this.clickChart2();
}
}
<ion-select interface="popover" (ionChange)="homeRunChanged($event)">
homeRunChanged(e) {
console.log(e);
this.commonService.home_run(e);
}
3、ts文件中获取map型参数的陷阱
在ts文件中,定义类型 result: any[],后来赋值 {name:bob}
在ts中使用 result.name,编译报错
该使用 result['name'] 注意有两个单引号
但在html文件中
可以使用result.name, result['name'] 两种方式获取到值,前一种是angular 的方式,后一种是js 的方式
4、先loading,然后alert,使用onDidDismiss方法
let loader = this.loadingCtrl.create({
content: "正在提交",
duration: 3000
});
loader.present();
loader.onDidDismiss(() => {
let toast = this.toastCtrl.create({
message: '非常感谢您帮我们变得更好',
duration: 2000,
position: 'middle'
});
toast.present(toast);
});
也可以手动结束加载 loader.dismiss(); 或 loader.dismissAll(); 然后再alert
5、传来的json数据,如何用到echarts的饼图中
比如json数据,{"message":"ok","result":{"cz":[122.25,160.07,367.37],"industry":["石油加工","化学原料","汽车"]},"status":"200"}
但是在饼图中的数据,必须是 {'name' : '石油加工' ,'value' : 122.25}这种形式
需要添加一个转换方法
chart_data1: any=[];
this.httpApi.get<ResponseType>('/services/ea_AppIndustryStructureService/industryAccProValue?month=201704')
.subscribe(
data => {
let chart_data1_x = data['result']['industry'];
let chart_data1_y = data['result']['cz'];
for (let i = 0; i < chart_data1_x.length; i++) {
this.chart_data1.push({'name': chart_data1_x[i] , 'value': chart_data1_y[i]});
}
console.log(this.chart_data1);
this.clickChart1();
});
6、ngswitch 陷阱
segment 搭配上 ngswitch,可以实现非常好看的页面,但是后来发现也有一些不好的地方
比如下面这个页面中,选项卡 A和B,A中包含了aaa,B中包含了bbb。他们在同一个html页面中,但是在选项卡切换为A时,获取不到bbb元素;选项卡切换为B,获取不到aaa元素。

当时为了实现我的效果,就没有使用ngswitch,而是定义了两个div,一个显示一个隐藏
原创文章,欢迎转载,转载请注明出处!
Ionic开发遇到的坑整理的更多相关文章
- ionic开发遇到的坑及总结
前言 ionic是一个用来开发混合手机应用的,开源的,免费的代码库.可以优化html.css和js的性能,构建高效的应用程序,而且还可以用于构建Sass和AngularJS的优化.ionic会是一个可 ...
- 关于ionic开发中遇到的坑与总结
这次是第二次使用ionic开发混合app,今天算是对这个框架做一个总结,基础的我就不再重复了,网上都有教程.我就说说自己的心得和遇见的各种坑, 之后会陆续补充,想到什么说什么吧. 1.关于ionic效 ...
- 分享 Ionic 开发 Hybrid App 中遇到的问题以及后期发布 iOS/Android 的方方面面
此篇文章主要整理了最近在使用 Ionic 开发 Hybrid App 过程中遇到的一些疑难点以及后期发布生成 iOS 和 Android 版本过程中的种种问题. 文章目录 Ionic 简介和项目需求介 ...
- Ionic开发Hybrid App问题总结
http://ionichina.com/topic/5641b891b903cba630e25f10 http://www.cnblogs.com/parry/p/issues_about_buil ...
- Ionic开发实战
转自:http://blog.csdn.net/i348018533/article/details/47258449/ 折磨的两个月!Ionic从零单排,到项目发布!遇到了很多问题但都一一解决了,此 ...
- Android使用WebView开发常见的坑
原文链接:http://mp.weixin.qq.com/s?__biz=MzAwODE1NTI2MQ==&tempkey=uP3a%2BOgIN7vPbLfJp3BTCl2KabYi1%2F ...
- 文顶顶iOS开发博客链接整理及部分项目源代码下载
文顶顶iOS开发博客链接整理及部分项目源代码下载 网上的iOS开发的教程很多,但是像cnblogs博主文顶顶的博客这样内容图文并茂,代码齐全,示例经典,原理也有阐述,覆盖面宽广,自成系统的系列教程 ...
- 简述移动端IM开发的那些坑:架构设计、通信协议和客户端
1.前言 有过移动端开发经历的开发者都深有体会:移动端IM的开发,与传统PC端IM有很大的不同,尤其无线网络的不可靠性.移动端硬件设备资源的有限性等问题,导致一个完整的移动端IM架构设计和实现都充满着 ...
- Ionic 开发环境搭建
android sdk环境搭建并非易事,本人经过无数失败,才使用以下方式成功 配置Ionic 开发环境 1.下载JDK并配置Java运行环境 http://www.oracle.com/technet ...
随机推荐
- elasticsearch判断索引是否存在
一.判断索引是否存在 指定索引名,判断指定的索引是否存在集群中 /** * 判断指定的索引名是否存在 * @param indexName 索引名 * @return 存在:true; 不存在:fal ...
- iOS原生实现二维码拉近放大
http://www.cocoachina.com/ios/20180416/23033.html 2018-04-16 15:34 编辑: yyuuzhu 分类:iOS开发 来源:程序鹅 8 300 ...
- stark组件的分页,模糊查询,批量删除
1.分页组件高阶 2.整合展示数据showlist类 3.stark组件之分页 3.stark组件之search模糊查询 4.action批量处理数据 4.总结 1.分页组件高阶 1.分页的class ...
- Vue基础(ES6)
起步 1.扎实的HTML/CSS/Javascript基本功,这是前置条件. 2.不要用任何的构建项目工具,只用最简单的<script>,把教程里的例子模仿一遍,理解用法.不推荐上来就 ...
- semantic-ui 图片
1.基础样式 方式一:因为图片是使用img标签,所以直接将class加载img标签中即可.不过要注意的是,class中要指定是ui image. 方式二:使用一个span或者div将img标签包裹,然 ...
- CMD管道命令使用
Windows netstat 查看端口.进程占用 开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务 ...
- iOS 10的两个坑
iOS 10出现白屏幕,其他机型不会. 一个bug 手机连上电脑,在电脑端的Safari里,看到了如下的错误: SyntaxError: Cannot declare a let variable t ...
- js 移动端 多图上传 预览 删除 base64转为url 传给后端
说下主要的逻辑,首先是利用input type="file",上传文件,然后判断文件类型是否是图片,这里要注意(multiple,安卓一次一张,ios可以多张). 接着把本地图片转 ...
- class用法
自 PHP 5.5 起,关键词 class 也可用于类名的解析.使用 ClassName::class 你可以获取一个字符串,包含了类 ClassName 的完全限定名称.这对使用了 命名空间 的类尤 ...
- 《Effective C++》让自己习惯C++:条款1-条款4
条款1:视C++为一个语言联邦 可以将C++分为4个层次: 1.C:C++实在C语言的基础上发展而来的. 2:Object-Oriented C++:C++面向对象. 3:Template C++:C ...