[vue.js] 다른 페이지로 Vue.js 리디렉션

에 방향을 바꾸고 싶습니다 Vue.js바닐라 자바 ​​스크립트와 비슷한

window.location.href = 'some_url'

Vue.js에서 어떻게 이것을 달성 할 수 있습니까?



답변

당신이 사용하는 경우 vue-router, 당신은 사용해야하는 router.go(path)특정 경로로 이동합니다. 를 사용하여 구성 요소 내에서 라우터에 액세스 할 수 있습니다 this.$router.

그렇지 않으면 window.location.href = 'some url';단일 페이지가 아닌 앱에 적합합니다.

편집 : router.go()VueJS 2.0에서 변경되었습니다. router.push({ name: "yourroutename"})또는 router.push("yourroutename")지금 사용하여 리디렉션 할 수 있습니다 .

https://router.vuejs.org/guide/essentials/named-routes.html


답변

문서에 따르면 router.push는 선호하는 방법처럼 보입니다.

다른 URL로 이동하려면 router.push를 사용하십시오. 이 메소드는 새 항목을 히스토리 스택으로 푸시하므로 사용자가 브라우저 뒤로 단추를 클릭하면 이전 URL로 이동합니다.

출처 : https://router.vuejs.org/en/essentials/navigation.html

참고 : Webpack 및 구성 요소 설정, 단일 페이지 앱 (Main.js를 통해 라우터를 가져 오는 위치)에서 다음과 같이 말하여 라우터 기능을 호출해야했습니다.

this.$router

예 : 조건이 충족 된 후 “홈”이라는 경로로 리디렉션하려는 경우 :

this.$router.push('Home')


답변

그냥 사용하십시오 :

window.location.href = "http://siwei.me"

vue-router를 사용하지 마십시오. 그렇지 않으면 ” http://yoursite.com/#!/http://siwei.me ” 로 리디렉션됩니다

내 환경 : node 6.2.1, vue 1.0.21, Ubuntu.


답변

컴포넌트 스크립트 태그 안에 있으면 라우터를 사용하여 다음과 같은 작업을 수행 할 수 있습니다

this.$router.push('/url-path')


답변

죽은 간단한 라우팅 :

this.$router.push('Home');


답변

이것도 시도해 볼 수 있습니다 …

router.push({ name: 'myRoute' })


답변

다른 페이지로 라우팅하려는 경우
this.$router.push({path: '/pagename'})

당신은 매개 변수와 함께 라우팅하려는 경우
this.$router.push({path: '/pagename', param: {param1: 'value1', param2: value2})