关于 v-if="pullDown"
请老师看看我的思路是否有问题:
问题 一: 为什么 使用 v-if="pullDown" 就可以下拉更新?
原因 :
base/scroll/index.vue -> 首先,我们要搞清楚的是,v-if="pullDown"的布尔值 是从父组件传入,在未传入时,可以先暂时给他一个布尔值 false,而这个默认布尔值设置在 props 中。
pages/home/index.vue -> home 是 scroll 的父组件,并在注册的组件中用 v-bind 要想scroll传入的值(v-bind:pullDown="pullDown")
pages/home/index.vue -> 当父组件的子组件 scroll 启动时,就将 父组件 pullDown 的默认值回传给 子组件 scroll
问题 二 :如何知道 父组件home已经scroll启动下拉功能?
原因 :
pages/home/index.vue -> 我们在 <me-scroll> 中 绑定(v-on)了一个 pull-down 事件,而pull-down事件要触发,需要先启动 pullToRefresh 方法。
pages/home/index.vue -> pullToRefresh 方法是 this.$refs.slider.update().then(end); ,这句话的意思:使用dom中ref为slider的元素,用$refs 来操作 slider 元素,使用 slider 中的 update 方法
pages/home/slider.vue -> update 方法 中 所返回的是 promise 实例,将成功的数据返回给 pages/home/index.vue 的 pullToRefresh 方法。
(疑问:this.$refs.sliderxx.update().then(endxxx); 请问老师,这句话最后所呈现的是布尔值吗?还是什么?)
因为 <me-scroll> 所绑定的 pull-down 事件 启动, 所以 父组件 v-bind:pullDown="pullDown" 才能 子组件 scroll
请问老师这样对吗?
正在回答
同学你好,1、end是调用pullToRefresh传递过来的参数。
2、传递的是 this.pullUpEnd这个函数哦。所以是可以调用的。
3、pullToloadMore这个里面也是参数end,不过只是参数名相同,调用的时候,传递的参数不是同一个,可以参考上面的步骤找一下这个参数哦。
4、不是简写哦,就是个参数,而这个表示的是函数,可以理解为是上面说到的函数哦。
祝学习愉快!
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星