提前说明:这些坑是ionic1的。

一、关于缓存:<ion-view>中设置cache-view="false"表示禁用缓存,默认为true;

二、列表进入详情页面后返回,列表页面删选栏和滚动条和跳转前一样,但从home进入列表页面要刷新。思路是用$ionicHistory判断是进入or回退,要是进入就初始化,回退就保留缓存:

  1. 列表页面设置cache-view="true";
  2. home控制器中提供添加:$ionicHistory.clearHistory(),因为不管回退还是进入,$ionicHistory的backView都是home页面;
  3. 列表页面添加以下代码:
      $scope.$on("$ionicView.beforeEnter", function() {
    var clearHistoryForIndexPage = function() {
    var history = $ionicHistory.forwardView();
    if (!history) {
    init();
    }
    };
    clearHistoryForIndexPage();
    });

    其中init()为初始方法。

三、滚动条:

  1. <ion-scroll>必须设置高度,且高度小于内容时才会滚动;
  2. 在浏览器下,滚动条滚动到底部还能再继续滚动,但真机上确是到底部无法滚动,不得不说这真是个坑,我研究了好久,结果在真机上却是正常的,所以有时候找不出原因,不妨真机调试看看,没准只是浏览器视图错误。
  3. 用指令动态设置<ion-scroll>的高度:
.directive('scrollHeight',function($window){
return{
restrict:'AE',
link:function(scope,element,attr){
element[0].style.height=($window.innerHeight)+'px';
//这里设置为屏幕高度
}
}
});

四、ion-infinite-scroll调用多次问题

解决方法:设置immediate-check="false"。

原因:若列表没有很快加载出来,浏览器以为已经到达底部,所以on-infinite方法会触发多次。immediate-check表示是否页面加载后立刻触发on-infinite方法,false表示只有滚动到页面边缘时才触发。

五、$ionicBackdrop 的retain()方法表示显示背景,使用时要注意防止调用三次,否则release()需要调用三次才能取消背景层。

六、<textarea>和padding对页面切换动画的影响:

<ion-view view-title="Facts" >
<ion-content >
<div class="padding">
<textarea placeholder="test" autofocus="autofocus" rows="6" ng-model="Input.test" ></textarea>
</div>
<div> test</div>
<p >
<a class="button icon ion-home" href="#/tab/home"> Home</a>
<a class="button icon icon-right ion-chevron-right" href="#/tab/facts2">More Facts</a>
</p>
</ion-content>
</ion-view>

在<ion-content>和<textarea>之间任何元素(包括<ion-content>和<textarea>)样式加上padding,都会导致本页面切换时出现卡顿、过头的问题。

ionic2中已经出现了新元素<ion-textarea>,可能解决了该问题

原因和解决方法还没有找到,此坑待填。

七、调起微信支付失败,返回-1。

微信支付开发文档显示-1报错原因为:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。

解决方法:将参数timestamp从字符串改成数字即可。

ionic开发中的各种坑的更多相关文章

  1. 关于ionic开发中遇到的坑与总结

    这次是第二次使用ionic开发混合app,今天算是对这个框架做一个总结,基础的我就不再重复了,网上都有教程.我就说说自己的心得和遇见的各种坑, 之后会陆续补充,想到什么说什么吧. 1.关于ionic效 ...

  2. ionic开发中,输入法键盘弹出遮挡住div元素

    采用ionic 开发中,遇到键盘弹出遮挡元素的问题. 以登陆页面为例,输入用户名和密码时,键盘遮挡了登陆按钮. 最终采用自定义指令解决了问题: .directive('popupKeyBoardSho ...

  3. 总结微信小程序开发中遇到的坑

    总结微信小程序开发中遇到的坑,一些坑你得一个一个的跳啊,/(ㄒoㄒ)/~~ 1,页面跳转和参数传递实例 首先说一下我遇到的需求有一个我的消息页面,里面的数据都是后端返回的,返回的数据大致如下,有一个是 ...

  4. celery开发中踩的坑

    celery开发中踩的坑 celery连接redis 当使用redis做broker,redis连接需要密码时: BROKER_URL='redis://:xxxxx@127.0.0.1:6379/0 ...

  5. 【EasyUI总结】EasyUI开发中遇到的坑

    普遍: 1.easyui在书写键值对的时候要注意是否要加引号,在需要加引号的地方不加则无法渲染: datagrid数据网格: 1.datagrid默认请求方式是post,如果要使用分页功能pagina ...

  6. AngularJS移动开发中的各种坑

    捂脸,辛酸泪ing...... 本文主要涉及部分在移动设备上特有的问题. 相对来说,Jquery侧重DOM操作,AngularJS是以视图模型和双向绑定为核心的. DOM操作的问题 避免使用 jQue ...

  7. Ionic开发中常见问题和解决方案记录

    1npm按装包失败 更换源:npm config set registry https://registry.npm.taobao.org 或者使用cnpm sudo npm install -g c ...

  8. TFS扩展开发中遇到的坑

    本码农最近开发一个VS扩展,其中有些功能涉及到文件的签出.我们公司用的是TFS,遇到了一些奇特的现象,将解决过程记录如下. 一.明明在线的连接却Offline属性等于True public stati ...

  9. 那些在django开发中遇到的坑

    1. 关于csrf错误 CSRF(Cross-site request forgery)跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或 ...

随机推荐

  1. shell随机输出一人的学号与姓名

    如果要多输出,可以分成*组,然后从每组中输出一个(这里是分为3组)

  2. 修改客户端连接的服务器IP地址(内部使用)

    登录系统时如果出现 “验证失败”,或者,无法登陆系统,请修改服务器端IP地址,修改方法如下: 注意: (1)修改服务器端IP地址时,要提前关闭/退出客户端.建议也看看“Windows的任务管理器”中是 ...

  3. InfoCube信息立方体的优化

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. HDU 5934 Bomb(炸弹)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  5. Latex图片显示问题(1)

    用latex编译后,若用dvipdf生成pdf文件,则其中有个eps图的左侧会显示不完全:若是用dvips--pspdf生成pdf文件,图像显示没问题. 这种情况的问题出在,加载 graphicx 宏 ...

  6. java subList方法小记

    在java中,我们有时候需要对一个list进行拆分处理,这个时候就需要用到list的切割方法subList. 我们知道list里面的序号起始是从0开始的,所以一个含有23条数据的list,它的序号是从 ...

  7. python与C++交互

    python和C++能进行有效的交互,c++调用Python的一些小用法 写了一个python脚本导入发生异常,可能是编码问题(如存在中文),Python默认的是ASCII可加上:#!/usr/bin ...

  8. C# 文件类型

    C# 中一些常用文件类型: designer.cs 是窗体设计器生成的代码文件,作用是对窗体上的控件做初始化工作(在函数InitializeComponent()中).VS2003以前都把这部分代码放 ...

  9. gdb调试基本命令(常用)

    gdb调试命令 1>. 启动gdb gdb 可执行程序的名字 2>. 查看代码 l -- 查看当前文件 -- 默认main函数 2. 查看其它文件: l 文件名:行号, 显示指定行号的上下 ...

  10. USB传输协议。——Arvin

    问题一:USB的传输线结构是如何的呢? 答案一:一条USB的传输线分别由地线.电源线.D+.D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(注意哦,与CMOS的5V电平不同),而电源 ...