项目是从github上面下载的,因为本人觉得项目做得非常棒,含括了一些巧妙的解决思路,所以写一篇文章,将其源码精髓部分,抽出来给大家讲讲~~
先看项目效果:
首页效果
一、loading加载和自定义上拉刷新
1)loading加载效果:
细心同学可能发现,热映、待映、口碑等tab页面都有loading加载特效,那么对于这么一个共用的特效,作者是如何处理的呢。
公共组件component目录下的filmList下面:
1.
<template>
2.
<block wx:
if
=
"{{showLoading}}"
>
3.
<view
class
=
"loading"
>玩命加载中…</view>
4.
</block>
5.
</template>
A页面如何引用:
1.
<
import
src=
"../../component/filmList/filmList.wxml"
/>
B页面如何引用:
1.
<
import
src=
"../../component/filmList/filmList.wxml"
/>
所以不管A页面还是B页面,都可以引用自定义loading特效。
2)自定义上拉刷新特效:
如图,上拉到底的时候,出现 '拼命加载中...',然后加载更多电影,其实原理很简单,就是在page中的上拉刷新事件onReachBottom中刷新电影列表数据即可。
电影列表wxml代码:
1.
<block wx:
for
=
"{{films}}"
wx:
for
-index=
"filmIndex"
wx:
for
-item=
"filmItem"
wx:key=
"film"
>
2.
...
//电影列表
3.
</block>
4.
<block wx:
if
=
"{{hasMore}}"
>
5.
<view
class
=
"loading-tip"
>拼命加载中…</view>
6.
</block>
上面代码很清晰, 其实 '拼命加载中...' 一直都在电影列表下面,所以当我拉到底部的时候,就会看到 '拼命加载中...' , 所以我只需要更新电影列表数据即可。看起来就变成,当我拉到最底下时候出现 '拼命加载中...' ,同时电影更新, 这个小技巧给赞。