vue 路由器。如何知道我的导航是点击的 link 还是程序化的

vue router. How to know if navigation I was a clicked link or programmatic

我必须知道导航是否由 JavaScript 使用

触发
this.$router.push("...") 

或点击了一个 link 赞

<router-link :to="...">

我该如何解决这个问题?

它们之间没有区别,因为 <router-link :to="..."> 也会在 this.$router.push("...") 中解决。

要了解它们之间的区别,您可以使用 this.$router.push("link?clicked=F")<router-link :to="link?clicked=T"> 等查询参数。使用此查询参数,您可以轻松区分已点击和未点击的路由器 link.

要访问查询参数,请使用 this.$route.query.<param-name>,例如 this.$route.query.clicked 将相应地给出 T of F