【问题标题】:Nuxt-link on pan instead of click?平底锅上的 Nuxt 链接而不是点击?
【发布时间】:2020-07-23 02:49:26
【问题描述】:

传统的nuxt-link 通过单击链接在页面之间导航。我想知道我是否可以通过平移而不是单击链接来触发跨页面路由的相同操作!

看起来像这样的东西(我使用的是hammerjs):

sliderManager.on("pan", function(e) {
    // trigger nuxt-link click and routes me to another page
})

典型的nuxt-link

<nuxt-link to="/about">About</nuxt-link>

基本上,我希望通过滑动导航到我的关于页面。

【问题讨论】:

    标签: vue.js nuxt.js


    【解决方案1】:

    Nuxt 将 Vue Router 实例公开为$router,因此您可以使用$router.push() 导航到链接的to。在&lt;nuxt-link&gt; 上使用ref 以访问您的回调中的链接。

    <template>
      <nuxt-link ref="myLink" to="/about">About</nuxt-link>
    </template>
    
    <script>
    export default {
      async mounted() {
        await this.$nextTick()
    
        //...
    
        sliderManager.on("pan", () => {
          sliderManager.off("pan")
    
          this.$router.push("/about")
    
          // OR
          this.$router.push(this.$refs.myLink.to)
        })
      }
    })
    </script>
    

    【讨论】:

    • 如果您在mounted() 中使用refs,则必须等到$nextTick 才能使用ref。但我想在这种情况下可能不需要它,因为ref 用于pan 回调,这很可能在安装后发生。
    • 天啊,太棒了-我今天非常需要这个,这就是解决方案...谢谢
    猜你喜欢
    • 1970-01-01
    • 2017-10-11
    • 2018-12-19
    • 1970-01-01
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    相关资源
    最近更新 更多