わかりました、これを簡単に説明するには:
3xページあります。
ページ1には-
<router-link to="/menu">
クリックすると「/ menu」へのルートが表示されるボタン。
今のところ、ページ2(メニュー)には
<router-link to="/">
ボタンをクリックし、このボタンをクリックすると、前の場所「/」ページ1(ホーム)に戻ります。
しかし、前のページに「戻る」ために各ページのルーター用のコンポーネントを作成したくありません(まるで100ページあるかのように、これは多くの作業を戻すことができます)。 vue-routerでこれを行う方法はありますか? window.history.back()と同様
ドキュメントで見つけることができないため、これを行う方法があるかどうかを知りたいです。
前もって感謝します!ジョン
Programmatic Navigation を使用できます。戻るには、これを使用します。
router.go(n)
ここで、nは正または負(戻る)になります。これはhistory.back()と同じです。したがって、次のような要素を持つことができます。
<a @click="$router.go(-1)">back</a>
Vuex
を使用している場合は、 https://github.com/vuejs/vuex-router-sync を使用できます
メインファイルでそれを初期化するだけです:
import VuexRouterSync from 'vuex-router-sync';
VuexRouterSync.sync(store, router);
各ルート変更は、route
のVuex
状態オブジェクトを更新します。次にgetter
を作成して、ルート状態でfrom
オブジェクトを使用するか、単にstate
を使用できます(ゲッターを使用することをお勧めしますが、それは別の話です https:// vuex .vuejs.org/en/getters.html )なので、要するに(コンポーネント内のメソッド/値):
this.$store.state.route.from.fullPath
<router-link>
コンポーネントに配置することもできます:
<router-link :to="{ path: $store.state.route.from.fullPath }">
Back
</router-link>
したがって、上記のコードを使用すると、以前のパスへのリンクが動的に生成されます。