에 방향을 바꾸고 싶습니다 Vue.js
바닐라 자바 스크립트와 비슷한
window.location.href = 'some_url'
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")
지금 사용하여 리디렉션 할 수 있습니다 .
Uncaught ReferenceError: router is not defined
오류는 어떻게 구성 요소에 라우터를 주입?
this.$router.push('routename)
문서에 따르면 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('Home');
이것도 시도해 볼 수 있습니다 ...
router.push({ name: 'myRoute' })
v- 바인딩을 템플릿에 직접 사용할 수도 있습니다 ...
<a :href="'/path-to-route/' + IdVariable">
의 :
약어입니다 v-bind
.
`/path-to-route/${IdVariable}`
"또는 여기에 언급 된대로 지정된 경로 ( router.vuejs.org/guide/essentials/named-routes.html ) : :href="{ name: 'NamedRouteDeclaredAtRouter' , params: { id: idValue } }"
한 페이지 /a
에서 다른 페이지로 영구적으로 리디렉션하려는 사람/b
에 redirect:
추가 된 옵션 을 사용할 수 있습니다 router.js
. 예를 들어 루트 또는 기본 URL을 입력 할 때 항상 사용자를 별도의 페이지로 리디렉션하려는 경우 /
:
const router = new Router({
mode: "history",
base: process.env.BASE_URL,
routes: [
{
path: "/",
redirect: "/someOtherPage",
name: "home",
component: Home,
// () =>
// import(/* webpackChunkName: "home" */ "./views/pageView/home.vue"),
},
]