返回顶部感觉不太对是重新刷新页面
来源:7-1 返回顶部组件
战神40
2019-08-21 15:13:22
pages/home/index.vue
<template>
<div class="home">
<header class="g-header-container">
<home-header/>
</header>
<me-scroll
:data="recommends"
pullDown
pullUp
@pull-down="pullToRefresh"
@pull-up="pullToMore"
@scroll-end="scrollEnd"
ref="scroll"
>
<home-slider ref="slider"></home-slider>
<home-nav></home-nav>
<home-recommend @loaded="getRecommends" ref="recommend"/>
</me-scroll>
<div class="g-backtop-container">
<me-backtop :visible="isBacktopVisible" @backtop="backToTop" />
</div>
<router-view></router-view>
</div>
</template>
<script>
import MeScroll from '../../base/scroll';
import MeBacktop from '../../base/backtop';
import HomeHeader from './header';
import HomeSlider from './slider';
import HomeNav from './nav';
import HomeRecommend from './recommend';
export default {
name: 'Home',
components:{
//引入的时候要注册一下
HomeHeader,
HomeSlider,
MeScroll,
HomeNav,
HomeRecommend,
MeBacktop
},
data(){
return{
recommends:[],
isBacktopVisible:false
}
},
// created(){
// setTimeout(()=>{
// this.isBacktopVisible=true;
// },1000);
// },
methods:{
updateScroll(){
},
getRecommends(recommends){
this.recommends=recommends;
},
pullToRefresh(end){
this.$refs.slider.update().then(end);
// setTimeout(()=>{
// console.log('下拉刷新');
// end();
// },1000);
},
pullToMore(end){
this.$refs.recommend.update().then(end).catch(err=>{
if(err){
console.log(err);
end();
}
//处理没有更多数据的情况
//禁止继续加载更多数据
//替换上拉时的loading,改为没有更多数据
});
// setTimeout(()=>{
// console.log('上拉');
// end();
// },1000);
},
scrollEnd(translate,scroll){
this.isBacktopVisible=translate<0 && -translate > scroll.height;
},
backToTop(){
this.$refs.scroll && this.$refs.scroll.scrollToTop();
}
}
};
</script>
<style lang="scss" scoped>
@import "~assets/scss/mixins";
.home{
overflow: hidden;
width: 100%;
height: 100%;
}
</style>
1回答
好帮手慕星星
2019-08-21
同学你好,
这边将你写的代码粘贴到源码中进行测试,点击返回顶部效果是没有问题的哦。
自己也可以将写的代码粘贴到源码中进行测试,对比下看看有什么不同的地方。如果找不出来,可以将base/backtop/index.vue文件中的代码粘贴上来,老师帮助你测试下。
祝学习愉快!
相似问题