为什么我回到顶部又刷新了一下呢
来源:7-1 返回顶部组件
上心4409406
2020-04-30 19:00:09
backtop的index
<template>
<transition name="mine-backtop">
<a
href=""
class="mine-backtop"
v-show="visible"
@click="backToTop" >
<i class="iconfont icon-huo"></i>
</a>
</transition>
</template>
<script>
export default {
name: 'MeBacktop',
props: {
visible: {
type: Boolean,
default: false
}
},
methods: {
backToTop () {
this.$emit('backtop')
}
}
}
</script>
<style lang="scss" scoped>
@import "~assets/scss/mixins";
.mine-backtop {
overflow: hidden;
@include flex-center();
width: 45px;
height: 45px;
background-color: rgba(0, 0, 0, 0.6);
border: none;
border-radius: 50%;
.iconfont {
color: #fff;
font-size: 38px;
}
}
.mine-backtop {
&-enter-active,
&-leave-active {
transition: opacity 0.4s;
}
&-enter,
&-leave-to {
opacity: 0;
}
}
</style>
home的index
<template>
<div class="home">
<header class="g-header-container">
<home-header/>
</header>
<me-scroll
:data="recommends"
pullDown
pullUp
@pull-down="pullToRefresh"
@pull-up="pullToLoadMore"
@scroll-end="scrollEnd"
ref="scroll"
>
<home-slider ref="slider"/>
<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 HomeHeader from './header'
import HomeSlider from './slider'
import MeScroll from 'base/scroll'
import HomeNav from './nav'
import HomeRecommend from './recommend'
import MeBacktop from 'base/backtop'
export default {
name: 'Home',
components: {
HomeHeader,
HomeSlider,
MeScroll,
HomeNav,
HomeRecommend,
MeBacktop
},
data () {
return {
recommends: [],
isBacktopVisible: false
}
},
methods: {
updateScroll () {
},
getRecommends (recommends) {
this.recommends = recommends
},
pullToRefresh (end) {
this.$refs.slider.update().then(end)
// setTimeout(() => {
// console.log('刷新')
// end()
// }, 1000)
},
pullToLoadMore (end) {
this.$refs.recommend.update().then(end)
// 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%;
background-color: $bgc-theme;
}
</style>
1回答
好帮手慕糖
2020-05-01
同学你好,backtop下的index.vue中。
因为a链接的href属性值为空的时候, 点击链接默认会刷新页面。
建议: 可以a链接的href属性添加“#”值,阻止默认刷新页面
如果帮助到了你, 欢迎采纳!祝学习愉快~~
相似问题
回答 1
回答 1