私は構築しているアプリケーションを、vue-routerとvuexを使用して単一ページのアプリケーションに切り替える作業を進めています。しかしこれは私の最初のSPAなので、私はいくつかの初心者の問題に惑わされています。 /product/list
と/product/edit
経由で正常にルーティングされていて、F5(またはCtrl)を使用してページを再読み込みしたときに編集モードが壊れていることが判明しました。-F5)。編集モードは、リストモードで設定された状態に依存し、リロード後にはこれは発生していません。Vuex、vue-router and handling page reload(F5)
私の質問は、一般的な、建築的なものです。このようなことをする最善の方法は何ですか? Vuexの状態をローカルまたはセッションのストレージに保存して、リロードできるようにする必要がありますか?または、ルートURLの情報を使用して状態を再生成できることを確認する必要がありますか?つまり、URLを/product/list
にするのではなく、/product/list?search=whatever&order=field
にする必要があります。その結果、リロード時に検索と並べ替えを再度実行できるようになります。同様に、/product/edit
の代わりに/product/edit?id=12345
があるので、ページが更新された場合、特定の製品が再度読み込まれる可能性があります。
私の好みは、localStorageに状態を保持することです(私はストレージを持たないブラウザとは争う必要はありません)。しかし、私は間違った方法でSPAの設計に近づいているのかどうか、私はまだそれが1ページ内で起こっていても、RESTという言葉で考えていなければなりません。
window.beforeunloadを使用してストアの状態をsessionStorageに保持し、ストアを作成するときにこのsessionStorageの既存のものをテストするのに時間がかかりませんでした。私はまだ私が将来のために問題を作り出しているかどうか疑問に思います。 –