>  Q&A  >  본문

router.currentRoute는 router.currentRoute.value와 다른 경로를 표시합니다.

구성요소의 현재 경로를 가져오려고 하는데 router.currentRoute 이상한 동작을 보이고 있습니다.

router.currentRoute 显示预期路由 /admin 예상 경로 /admin 표시:

으아악

하지만 router.currentRoute.value 显示路由 /:

으아악

그래서 router.currentRoute.value.path를 사용하여 현재 경로를 표시할 수 없습니다. 이 동작이 예상됩니까? 구성 요소의 현재 경로를 얻는 방법은 무엇입니까?

P粉724256860P粉724256860207일 전426

모든 응답(1)나는 대답할 것이다

  • P粉317679342

    P粉3176793422024-03-26 20:48:07

    형식으로 보면 코드 효과를 관찰하기 위해 console.log(또는 유사한) API를 사용하는 것으로 보입니다.

    거의 모든 최신 브라우저는 콘솔에 개체의 "지연" 보기를 표시합니다(개체를 기록할 때)

    확인 이 예제 (대략 Vue Router에서 사용하는 데이터 구조를 따릅니다)

    1. 예제 열기
    2. 개방형 개발 도구 - 콘솔
    3. 버튼을 두 번 이상 클릭하세요
    4. 지금 녹음된 값을 알아보세요

    결과: router.currentRoute 的每个日志显示完全相同的值(与 router.currentRoute.value의 로그가 반대입니다)

    이제 동일하게 시도하되 클릭할 때마다 기록된 개체를 확장하세요...

    TL:DR 콘솔을 믿지 마세요! - console.log가 실행될 때 표시되는 값이 반드시 개체의 값은 아닙니다.

    이 문제를 해결하려면 대신 console.log(JSON.parse(JSON.stringify(obj)))를 사용하세요...

    회신하다
    0
  • 취소회신하다