web-dev-qa-db-ja.com

vue-router-前のページのURLを取得する方法は?

vue-routerの前のページリンクまたはURLを取得したい。これのように。どうやるか?

const link = this.$router.getPrevLink(); // function is not exist?
this.$router.Push(link);

近い概念はthis.$router.go(-1)です。

this.$router.go(-1);
10
narupo

Vue-routerのすべての ナビゲーションガード は、前のルートをfrom引数として受け取ります..

すべてのガード関数は3つの引数を受け取ります。

  • to: Route:ナビゲートされるターゲットルートオブジェクト。

  • from: Route:ナビゲートされる現在のルート。

  • next: Function:フックを解決するには、この関数を呼び出す必要があります。アクションは、nextに提供される引数に依存します

例として、beforeRouteEnter(コンポーネント内ナビゲーションガード)を使用して、以前のルートを取得し、データに保存できます。

...
data() {
 return {
   ...
   prevRoute: null
 }
},
beforeRouteEnter(to, from, next) {
  next(vm => {
    vm.prevRoute = from
  })
},
...

その後、this.prevRoute.pathを使用して以前のURLを取得できます。

28
Husam Ibrahim