zoukankan      html  css  js  c++  java
  • vue 移动端项目切换页面,页面置顶

    之前项目是pc端是使用router的方式实现置顶的

    //main.js

    router.afterEach((to, from, next) => {
      window.scrollTo(0, 0)
    })

    但是改了移动端就没有效果了,稍微查了一下,好像说是要body里才有用。

    可能与我使用了vux-ui有关

    在深究router方式还是找新方法的选择上,我选了后者,

    //自定义的common.js

    // 这个方法通过递归找到滚动的元素,用于置顶页面
    function getScrollParent (node) {
      if (node == null) {
        return null
      }
      if (node.scrollHeight > node.clientHeight) {
        return node
      } else {
        return getScrollParent(node.parentNode)
      }
    }

    export {getScrollParent}
     

    // 页面文件,例如hello.vue

    // 引入
    import {isEmptyObj, getScrollParent} from '@/common/utils/common'
    
    //在mounted钩子函数调用
     mounted () {
        const element = getScrollParent(this.$el)
        element.scrollTop = 0
        this.initCanvas()
      },

    用以上方法,解决问题

    好记性不如烂笔头,每天记录一点点
  • 相关阅读:
    从点子到产品
    基础设计模式
    SpringBoot单元测试
    结构化思维
    考试脑科学读书笔记
    爆发式成长的思维
    人人都是产品经理笔记
    文本处理工具awk
    CSP-S2019【绍兴一中集训】
    寒假集训【1.28】
  • 原文地址:https://www.cnblogs.com/wayneliu007/p/11932204.html
Copyright © 2011-2022 走看看