提前说明:这些坑是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. SQL知识整理三:变量、全局变量、视图、事务、异常

           变量 1.局部变量的声明(一个@) declare @n int   --声明变量关键字为declare 然后@加变量名 后面是变量类型 declare @s varchar(36) 2 ...

  2. Nodejs学习总结 -Express入门(一)

    Express是基于Node.js平台开发的Web应用开发框架,下面我们入手学习. 官网 : http://www.expressjs.com.cn/ github:https://github.co ...

  3. Strus2第一次课:dom4j操作xml

    先从底层的xml操作技术记录: 当我们新建一个项目,什么架包都没加入的时候,java提供了 org.w3c.dom给我们操作xml里面的元素 import org.w3c.dom.Document; ...

  4. linux下添加环境变量

    我安装完 RedHat Linux 5 之后,在终端使用一些命令,如: ifcinfig 查看本机的IP,发现不能使用此命令,提示说“command not found”,这该怎么办呢 想想肯定是环境 ...

  5. python 02

    函数的参数 默认参数: 函数的基本形参, 可以有默认参数, 什么是基本形参呢, 就是普通变量, 如字符串, 数字等. 并且带有默认参数的形参, 要放在后边. 传参时, 不必将所有的参数都传递, 可以只 ...

  6. PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第四组(转)

    十:联机处理-可选项终端根据卡片行为分析的结果,执行对应的处理.若卡片响应联机,则终端发起联机操作.联机处理使得发卡行后台可以根据基于后台的风险管理参数检查并授权批准或拒绝交易.除了传统的联机欺诈和信 ...

  7. iOS开发 滤镜的使用

    iOS开发之滤镜的使用技巧(CoreImage)   一.滤镜的内容和效果是比较多并且复杂的 ,学习滤镜需要技巧 如下: 两个输出语句解决滤镜的属性选择问题: 1.查询效果分类中包含什么效果按住com ...

  8. Evolutionary Computing: Assignments

    Assignment 1: TSP Travel Salesman Problem Assignment 2: TTP Travel Thief Problem The goal is to find ...

  9. could not read symbols: File format not recognized

    arm-linux-gnueabi-readelf工具解决问题 编译一个32位平台的内核时,出现如下错误提示: libschw.a: could not read symbols: File form ...

  10. Android 防止OOM优化

    1. Android2.x及以下的系统优化: Bitmap被解码后的像素被存储在Native Heap中, Dalvik Heap有个external计数,记录了Bitmap所占用的内存. 当 Dal ...