【问题标题】:Using HeadlessUI Menu with Vue-Router在 Vue-Router 中使用 HeadlessUI 菜单
【发布时间】:2022-12-16 03:08:47
【问题描述】:

我正在尝试将 HealdessUI 菜单组件与 vue-router 一起使用。我可以找到一种方法来完成这项工作。看来,HeadlessUI 只能与 Links 一起使用。但我需要使用类似this.$router.push({ name: item.href, hash: item.hash } 的东西。

我的路线已命名,但我需要给它一个散列,所以它实际上滚动到网站上的锚点 ID。

【问题讨论】:

    标签: vuejs3 vue-router tailwind-css headless-ui


    【解决方案1】:

    router.push(...) 用于编程导航,但也有 <router-link> 用于 declarative navigation,您可以将其放入组件的模板代码中:

    <MenuItem v-slot="{ active }">
      <router-link to="{ path: '/', hash: '#about' }">About</router-link>
    </MenuItem>
    

    可以通过在路由器文件中设置 scrollBehavior 来启用锚链接:

    const router = createRouter({
      scrollBehavior(to, from, savedPosition) {
        if (to.hash) {
          return {
            el: to.hash,
            behavior: 'smooth',
          }
        }
      }
    })
    

    【讨论】:

      猜你喜欢
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2023-03-03
      • 2018-02-19
      • 2021-07-16
      • 2020-07-18
      相关资源
      最近更新 更多