인프런 커뮤니티 질문&답변

박현일님의 프로필 이미지
박현일

작성한 질문수

Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"

vue-router 질문 드립니다.

작성

·

2.6K

0

안녕하세요.

기본편부터 정주행하면서 다시 공부하고 있는 뷰린이입니다.

이번 강의를 보면서 vue-router를 사용하게 되는데요.

router.push({ name: 'user', params: param })

 

위와 같이 push에 params를 넣으면 아래와 같은 워닝메세지가 나오고,

vue-router.mjs:35 [Vue Router warn]: Discarded invalid param(s) "email", "name" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.

이동한 컴포넌트에서 route.params를 꺼내보아도 값이 없더라구요.

좀 더 찾아보니, vue-router 버전에 차이로 인해서 발생하는 것 같은데요..(제가 설치한 버전은 4.1.5입니다.)

  1. 버전을 다운그레이드해서 사용해야 할까요?

  2. 아니면 latest버전에서 params를 사용하지 않고 다른방법으로 파라미터를 넘겨주는 방법이 있을까요?(Query는 URL 붙기 때문에 지양하고 있습니다..)

     

 

 

답변 2

1

짐코딩님의 프로필 이미지
짐코딩
지식공유자

안녕하세요 :)
버전 문제는 아닌 것 같고요.

제가 볼 땐 파라미터 명이 일치하지 않아서인 것 같습니다.

// router/index.js
...
{
    path: '/about/:path1/:path2',
    name: 'About',
    component: AboutView,
}
...

위와 같이 routes 설정이 되어 있다면

router.push({name: 'About', params: { path1: 'value1', path2: 'value2' })

이렇게 params값을 설정해야 합니다.

혹시 제대로 params가 설정이 되어 있을까요?

 

 

 

0

박현일님의 프로필 이미지
박현일
질문자

path 뒤의 파라미터명이 일치하지 않았습니다..!

감사합니다ㅜㅜ ..

박현일님의 프로필 이미지
박현일

작성한 질문수

질문하기