onMounted フックで呼び出されるコンポーネントで useRoute
を使用したいと考えています。
似たような###
リーリー
リーリー
ルーターがどこでも未定義である理由がわかりません。ルーターをパラメーターとして渡さずにこれを修正する方法はありますか? (checkUserAuth関数を完全にカプセル化したい)修正できることはわかっています
リーリー
しかし、これは良い解決策ではありませんP粉4690907532023-11-24 09:39:16
公式ドキュメントに記載されているように、useRouter の API はセットアップ時に呼び出す必要があります。これは https://router.vuejs.org/zh/api/#userouter (zh ドキュメントに記載) で確認できます。 おそらく次のようなコードを書くことができます:
リーリーそして設定でそれを呼び出します:
リーリーお役に立てば幸いです。
P粉8484421852023-11-24 00:28:49
コンポーザブル項目は、その実装で他の用途が許可されていない限り、設定で直接使用する必要があります。これはケースバイケースで決定する必要があります。
checkUserAuth はコンポーザブルを使用してコンポーザブルにするため、インストールされたフック内でそれを使用する必要がある場合は、これを可能にする関数を返す必要があります。
リーリー あるいは、checkUserAuth
コンポーザブルは使用しないでください。 useUserStore
にはコンポーザブル項目に固有の制限はなく、useRouter
はルーター インスタンスのインポートに置き換えることができます。