PhoneGap中文网

 找回密码
 立即注册
查看: 26462|回复: 3
打印 上一主题 下一主题

ionic上拉加载事件首次加载问题

[复制链接]

1

主题

3

帖子

19

积分

新手上路

Rank: 1

积分
19
跳转到指定楼层
楼主
发表于 2015-12-17 11:43:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在做ionic页面相关的应用,遇到一个问题:当页面加载时初始化方法调用之后很短时间内就会调用如下标签中<ion-infinite-scroll    on-infinite="loadMore()"
    distance="1%">
  </ion-infinite-scroll>
的loadMore方法,数据加载完成后会将这部分数据拼接到对象列表中vm.messages = vm.messages.concat(data);
当出现对象初始化方法速度较慢时,对象尚未创建就开始拼接数据,JS就会报错。
现在采用的解决方案比较笨:
$timeout(function() {
$scope.loadMore();
},1000);
加了个定时器延时一秒再执行加载更多数据的方法,这种方法实在是不怎么好,存在很多问题。有没有高手指点一下,如何更好的解决这个问题,万分感谢!


回复

使用道具 举报

27

主题

172

帖子

597

积分

高级会员

Rank: 4

积分
597
沙发
发表于 2015-12-17 17:47:22 | 只看该作者
异步请求会有这个问题, 所以请求完成以后广播一下告诉controller 数据请求完成了

然后controller再去绑定数据  可以看看下面的demo

https://github.com/IonicChina/ioniclub
回复 支持 反对

使用道具 举报

1

主题

3

帖子

19

积分

新手上路

Rank: 1

积分
19
板凳
 楼主| 发表于 2015-12-21 16:39:56 | 只看该作者
跨平台移动开发 发表于 2015-12-17 17:47
异步请求会有这个问题, 所以请求完成以后广播一下告诉controller 数据请求完成了

然后controller再去绑定 ...

您好,首先感谢您的指导,我试着使用广播的方式,广播完成再绑定数据。可是上拉加载的函数还是和初始化的函数基本同时进行,还是会存在之前的问题。如何能让上拉加载事件在初始化动作完成之后再执行呢?
回复 支持 反对

使用道具 举报

7

主题

17

帖子

103

积分

注册会员

Rank: 2

积分
103
地板
发表于 2015-12-25 15:54:21 | 只看该作者
请问下这个问题解决了吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2025-1-11 17:14 , Processed in 0.066153 second(s), 33 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表