简介
在开发手机端的H5 项目时,选择了vue + vant生态,在使用PullRefresh 下拉刷新 组件时,需要进行自定义显示。但是首页Tab 下有3 个页面都需要进行定制,为了方便将其封装为一个组件。
源码
下面是pullRefresh.vue 以及parent.vue 的相关源码
1.子组件pullRefresh.vue
1 | <template> |
2.父组件parent.vue
1 | <tempalte> |
源码解析
使用到的相关知识点:
过程分析
在页面上模拟一次下拉刷新
- 子组件首次触发onRefresh 事件
- 更新父组件的value 的值,这里的value 在父组件中是isLoading
- 此时会触发两次改变
3.1 侦听到value 值改为true, 这时的val 为 true
3.2 由于子组件中产生了input 事件,导致isLoading = true - 触发父组件的refresh 事件,也就是父组件中的onRefresh 事件
- 子组件触发了父组件中的onRefresh 方法
- 下拉刷新完成时,更新父组件的isLoading 为false,此时触发了子组件中的value 的值改变
- 侦听到父组件isLoading 值的改变,这是的val 为false
- 由于val == false,此时子组件的isLoading 赋值为 false,完成下拉刷新过程
总结
项目中还是需要多看多写多总结,这样才能更好的理解Vue