发表于: 2017-03-05 22:51:14
1 1242
今天完成的事情:
视频列表、文章列表修改:
解决滚动在不同设备上不顺畅的问题,加载问题;
明天计划的事情:
手机绑定、邮箱绑定;
整理前台;
遇到的问题:
1、click和tap
做视频列表是发现原生滚动在ios下有些问题(overflow:scroll),遂全改为iscroll,新的问题又出现了,iscroll后click事件会和移动端的tap事件有冲突(都执行OR点击位置不准确),iscroll为防止该问题而默认禁用click事件,推荐使用tap代替click。因为之前没发现影像所以启用了click,结果在文章列表点击加载更多时,同时出发了两个事件:
1、加载新数据;2、进入文章详情。
这里起了冲突,轻触加载更多时,同时出发两个事件、长按松开正常触发加载。不得已禁用了click,使用tap代替,由此衍生新问题,原来的ui-sref和ng-click都要用tap代替。。。。
目前做法为通过指令去绑定事件、参数,以tap替代。。。。
.directive('onTap',function ($state) {
return function (scope, ele, attrs) {
var path = attrs.onTap;
var params = attrs.params;
$state.go(path,{id:params})
}
})
这么做还存在一个问题:
ng-click会调用$apply执行$digest实现数据双向绑定,tap却不能,需要手动添加$apply....
2.iscroll初始化高度问题
在进入滚动页面时执行iscroll初始化,读取元素高度,此时刷新数据刷新后(点击加载更多后),数据加载正常,滚动范围依然为初始化的范围,需要在更新数据的后重新让其获取高度。
第一次尝试重新实例化,数据加载和滚动范围都没问题,但每次加载都会回到页面顶部。
scroll=new IScroll('.scroll-wrap')
用其refresh()可解决。
scroll.refresh();
收获:如上
评论