老师,为什么我的返回顶部的按钮不出现呢??
来源:7-1 返回顶部组件
小仙女要好好学习
2019-10-20 20:42:31
<!-- home --> <template> <div class="home"> <!--home首页结构--> <header class="g-header-container"> <home-header></home-header> </header> <!--滚动组件--> <me-scroll :num='recommends' pullDown @scroll-end='scrollEnd'> <!--导入轮播图组件--> <home-slider></home-slider> <!--导入导航组件--> <home-nav></home-nav> <!--导入下方数据--> <home-recommend @loaded='getRecommends'></home-recommend> <!--接收子组件传来的值--> </me-scroll> <div class="g-backtop-container"> <me-backtop :visible='isBackTopVisible'></me-backtop> </div> <!--二级路由的路由页面product--> <router-view></router-view> </div> </template> <script> import HomeHeader from './header.vue'; import HomeSlider from './slider.vue'; import MeScroll from 'base/scroll/index.vue'; import HomeNav from './nav.vue'; import HomeRecommend from './recommend.vue'; import MeBacktop from "base/backTop/index.vue"; export default { name:'Home', components:{ HomeHeader, HomeSlider, MeScroll, HomeNav, HomeRecommend, MeBacktop }, data(){ return{ recommends:[], //值发生了改变 isBackTopVisible:false } }, methods:{ updataScroll(){ }, getRecommends(recommends){ //接收从recommend子组件传来的参数,改变data中的recommends[]的值 this.recommends=recommends; }, scrollEnd(translate,scroll){ console.log(scroll.height); this.isBackTopVisible=translate <0 && -translate > scroll.height; //下拉并且滑动的距离大于一屏的距离 } } } </script> <style lang="scss" scoped> @import '~assets/scss/mixins'; .home{ width: 100%; height: 100%; overflow: hidden; background-color: $bgc-theme; } .g-header-container{ width: 100%; } </style>
<!-- 返回顶部组件 --> <template> <transition name="mine-backtop"> <a href="###" class="mine-backtop" v-show="visible" @click="backToTop"> <i class="iconfont icon-backtop" ></i> </a> </transition> </template> <script> export default { name:'MeBacktop', data () { return { }; }, 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, .6); border: none; border-radius: 50%; .iconfont{ color: #fff; font-size: 38px; } } .mine-backtop-enter-active,.mine-backtop-leave-active{ transition: opacity 0.4s; } .mine-backtop-enter,.mine-backtop-leave-to{ opacity: 0; } </style>
1回答
好帮手慕夭夭
2019-10-21
你好同学,老师把你的代码放在源码中测试,是可以出现的。默认是不显示的,需要让页面往上滚动几页才可以显示,重新一下测试哦。
祝学习愉快,望采纳。
相似问题