「vuex-persistedstate で sessionStorage と localStorage を切り替える」
P粉295728625
2023-08-25 23:06:52
<p>ユーザーが [記憶する] チェックボックスを選択した場合、vuex-persistedstate</p> を使用している間、sessionStorage から localStorage に切り替えたいと考えています。
<pre class="brush:php;toolbar:false;">デフォルトのストアをエクスポート(function (/* { ssrContext } */) {
const ストア = createStore({
州: {
}、
行動: {
setLodingMode({ commit }, newMode) {
commit("SET_LOADING_MODE", newMode);
}、
リセット状態({ コミット }) {
commit("AUTHENTICATION_RESET_STATE");
commit("ログイン/RESET_STATE");
}、
}、
モジュール: { ログイン、認証 }、
プラグイン: [createPersistedState()]、
});
ストアを返す;
});</pre>
<p>重要なのは、次のような変更を加えたいということです</p>
<pre class="brush:php;toolbar:false;">状態: {
フラグ: false
}、
プラグイン: [
createPersistedState({
ストレージ: フラグ ? window.localStorage : window.sessionStorage、
})、
]、</pre>
<p>ユーザーがログイン時に選択する「Remember Me」チェックボックスに基づいてフラグを変更するようにしたいのですが、ユーザーがチェックボックスを選択するとフラグが true になり、すべてのデータが localStorage に保存されます</p> ;
@Estus Flask のコメントによると、私はカスタム ストレージを使用し、localStorage を直接呼び出して localStorage にフラグを設定することで「remember me」オプションを管理しました。
リーリーそして、ログアウトまたは 401 応答のたびに localStorage をクリアします。