vue.js - NUXT JS中丰富断点时动态更改路由

标签 vue.js vue-router nuxt.js

我很头疼很长时间来为我的问题找到解决方案。

所以让我们开始吧。

我有一个简单的单页网站,我尝试使用 VUE JS 和 NUXT JS 作为静态站点渲染来构建。该站点具有带有导航的粘性页眉,并且页眉和页脚中的导航相同。关键是在滚动到不同的断点时更改事件路线。如何尽快动态更改路由的路径
屏幕顶部交叉,例如 id="about"的 div?

请建议关注 NUXT.js 的最佳解决方案

最佳答案

data() {
    return {
      link: 'https://example.com'
    }
  },
  methods: {
    handleScroll() {
      let scrollAmount = document.documentElement.scrollTop
      if(scrollAmount >= YourElement offsetTop) {
        this.link = 'https://expmaple-2.com'
      }
    }
  },
  created() {
    if (process.client) {
      window.addEventListener('scroll', this.handleScroll)
    }
  },
  destroyed() {
    if (process.client) {
      window.removeEventListener('scroll', this.handleScroll);
    }
  }

您需要获取断点值并插入它们而不是 YourElement offsetTop .您可以通过 $refs例如。
然后将链接绑定(bind)到您的导航项目,如 :href="link" .您也可以使用多个断点,只需修改 handleScroll你需要的方法。
希望它会有所帮助。

关于vue.js - NUXT JS中丰富断点时动态更改路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48628450/

相关文章:

javascript - Nuxt.js动态组件错误 "Either pre-compile the templates into render functions, or use the compiler-included build"

javascript - 如何使用 Vuejs 路由器单击用户并在另一个组件/ View 中显示用户详细信息?

vue.js - VueJS : $router. 推送不适用于查询参数

javascript - 条件 V-HTML 渲染

laravel - 在 Laravel 下加速 Vue.js 组件

vue.js - VueJS : How to navigate to a different route from global JS function

javascript - Nuxt 插件抛出注入(inject)不是一个函数

javascript - 如何在 nuxt.js 和引导站点中平滑滚动?

vue.js - Vue js 从数组中获取值

Vue.js 3 模板-文字错误无法读取 null 的属性 'range'