router.currentRoute は、router.currentRoute.value とは異なるルートを表示します。
P粉724256860
P粉724256860 2024-03-25 23:56:08
0
1
462

コンポーネントの現在のルートを取得しようとしていますが、router.currentRoute が奇妙な動作を示しています。

router.currentRoute 予想されるルートを表示します /admin:

リーリー

ただし router.currentRoute.value ルートを表示 /:

リーリー

したがって、router.currentRoute.value.path を使用して現在のルートを表示することはできません。この動作は予期されたものですか?コンポーネントの現在のルートを取得するにはどうすればよいですか?

P粉724256860
P粉724256860

全員に返信(1)
P粉317679342

形式から判断すると、コードの効果を観察するために console.log (または同様の) API を使用しているようです。

ほとんどすべての最新のブラウザでは、(オブジェクトのログ作成時) コンソールにオブジェクトの「遅延」ビューが表示されることに注意してください。

この例を確認してください (Vue Router で使用されるデータ構造にほぼ準拠しています)

    例を開く
  1. オープン開発ツール - コンソール
  2. ボタンを2回以上クリックしてください
  3. 記録された値を今すぐ​​確認してください
結果:

router.currentRoute のすべてのログには、(router.currentRoute.value のログとは対照的に) まったく同じ値が表示されます。 同じことを試しますが、クリックするたびに記録されたオブジェクトを展開します...

TL:DR 本体を信用しないでください。

- 表示される値は、console.log の実行時のオブジェクトの値であるとは限りません。 この問題を解決するには、...

の代わりに

console.log(JSON.parse(JSON.stringify(obj))) を使用します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート