inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

404 Not Found & 중첩 라우트 적용

RouterLink와 router.push()

269

양선주

작성한 질문수 2

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

어떨 때 RouterLink를 사용하고, 어떨 때 router.push를 사용해야하나요??

 

두 개의 기능이 똑같아보이는데, 404에서는 RouterLink를 사용하신 이유가 궁금합니다

vue.js

답변 2

0

짐코딩

안녕하세요. AI 인턴의 답변과 마찬가지로

RouterLink<a>태그로 렌더링됩니다. 그리고

router.push()는 자바스크립트로 동작하기에 사전에 특정 비즈니스 로직을 처리할 수 있습니다.

추가로 RouterLink 사용시 <a>태그로 렌더링이 되었을 때 검색엔진 봇은 <a> 태그의 href 속성을 참고하여 웹 사이트 주소를 수집하기에 SEO에 더 유리합니다.

 

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

질문하신 RouterLinkrouter.push()에 관하여 설명드리겠습니다.

RouterLink는 주로 Vue.js 템플릿에서 사용하며, 사용자가 링크를 클릭할 때 지정된 경로로 이동하게 합니다. 이는 렌더링된 HTML에서는 <a> 태그로 변환되어 사용자가 링크를 클릭했을 때 지정된 페이지로의 라우팅을 처리합니다. RouterLink는 선언적 네비게이션을 지원합니다.

반면에, router.push()는 프로그래매틱 네비게이션을 위해 사용됩니다. 즉, JavaScript 코드에서 조건에 따라 또는 특정 이벤트가 발생했을 때 동적으로 라우트를 변경할 때 사용됩니다. 예를 들어, 사용자의 입력을 검증한 후에 특정 경로로 이동해야 할 때 router.push() 메소드를 호출하여 처리할 수 있습니다.

404 페이지와 같은 경우에 RouterLink를 사용하는 이유는, 주로 사용자가 잘못된 URL에 접근했을 때 보여주는 정적인 페이지인 경우가 많기 때문입니다. 사용자에게 다른 페이지로의 링크를 제공하여 클릭만으로 손쉽게 네비게이션할 수 있도록 선언적 방식을 사용하는 것이 자연스럽습니다. 또한, RouterLink를 사용하면 SPA의 성능 이점을 유지하면서 페이지를 리로드하지 않고도 라우트를 변경할 수 있습니다.

결론적으로, 사용자의 인터랙션에 따라 동적으로 라우트를 변경해야 하는 경우 router.push()를 사용하고, 링크를 통한 선언적 라우팅이 필요한 경우 RouterLink를 사용하는 것이 일반적인 사용법입니다.

질문드립니다.

0

32

0

unplugin-vue-components 질문드립니다.

0

38

2

강의듣다가 헷갈려서 질문드립니다.

0

33

1

와 짐코딩님 강의 들으면서 느끼는게 많네요.

0

32

1

질문드립니다.

0

32

2

라우터 인스톨 후 실행안됨

1

49

2

코드 자동 포매팅 질문

0

68

2

필터 watchEffect 질문입니다.

0

52

1

json-server 오류가 다른게 뜨네요

0

113

1

미리보기가 안됩니당...

0

69

2

unplugin-vue-components

0

81

2

TypeError 질문

0

52

1

v-model="show" :show="show" 같이 사용?

1

57

1

hash 모드 배포의 필요성?

0

61

2

.eslintrc.cjs 가 없습니다

0

95

2

title,content값이 비어서 저장되는데 제가 혹시 어떤 부분을 잘못 작성했는지 ㅜㅜ 알고싶습니다.

0

98

3

_title_like: "", 문의드려요 해당 값을 설정하면 list가 아에 안나옵니다.

0

64

1

@click.prevent="params._page = pageNum"> 에 .value를 안쓰는 이유가 궁금합니다.

0

71

2

중첩된 컴포넌트 문제

0

75

2

교안에 있는 부분이 아닌가요?

0

109

2

useAxios Proxy(Object) RefImpl

0

113

1

axios timeout

0

329

3

강의와 상관은 없지만, 궁금한 점이 있어 질문드립니다.

0

123

2

컴포넌트 분리 부분에서 오류가 나요ㅠㅠ

0

169

2