vue.js - 平底锅上的 Nuxt 链接而不是点击?
问题描述
常规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>
本质上,我希望通过滑动导航到我的关于页面。
解决方案
Nuxt 将 Vue Router 实例公开为$router
,因此您可以使用$router.push()
导航到链接的to
. 使用ref
访问<nuxt-link>
回调中的链接。
<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>
推荐阅读
- sql - Remove a comma in a number in Redshift
- reactjs - 验证表单中是否存在任何错误,然后无法在反应中转到下一页
- sql-server - 插入期间的 TSQL 字段顺序增量
- ruby-on-rails - 我必须将数据从一列迁移到同一个表中的另一列,但必须在所有记录中添加一个前缀。在 Rails 数据库迁移中
- haskell - “引用”类型类函数
- oop - 如何修复德尔福地址的访问冲突
- c++ - 函数所需的堆栈空间是否会影响 C/C++ 中的内联决策?
- python - Python:未定义名称“entry1”
- jboss - MOD_CLUSTER - 删除粘性会话
- bootstrap-4 - 引导网格如何工作。需要澄清其跨设备的使用情况