vue-router 2.0 상용 기초 지식 점 의 router.push()

2388 단어 vuerouter.push
를 사용 하여 네 비게 이 션 링크 를 정의 하 는 것 외 에 도 router 의 인 스 턴 스 방법 을 통 해 코드 를 작성 하여 실현 할 수 있 습 니 다.
router.push(location)
다른 URL 로 탐색 하려 면 router.push 방법 을 사용 하 십시오.이 방법 은 history 스 택 에 새 기록 을 추가 하기 때문에 사용자 가 브 라 우 저 후퇴 단 추 를 누 르 면 이전 URL 로 돌아 갑 니 다.
를 누 르 면 이 방법 은 내부 에서 호출 됩 니 다.그 러 니까를 누 르 면 router.push(...)를 호출 하 는 것 과 같 습 니 다.
성명 식:
프로 그래 밍:router.push(...)
이 방법의 매개 변 수 는 문자열 경로 나 주 소 를 설명 하 는 대상 일 수 있 습 니 다.

//    
router.push('home')

//   
this.$router.push({path: '/login?url=' + this.$route.path});

//      
router.push({ name: 'user', params: { userId: 123 }})

//      ,  /backend/order?selected=2
this.$router.push({path: '/backend/order', query: {selected: "2"}});

//       
this.$http.post('v1/user/select-stage', {stage: stage})
   .then(({data: {code, content}}) => {
      if (code === 0) {
        //   
        this.$router.push({path: '/home'});
      }else if(code === 10){
        //      ,  /login?stage=stage
        this.$router.push({path: '/login', query:{stage: stage}});
      }
});

//         
let queryData = {};
if (this.$route.query.stage) {
  queryData.stage = this.$route.query.stage;
}
if (this.$route.query.url) {
  queryData.url = this.$route.query.url;
}
this.$router.push({path: '/my/profile', query: queryData});
replace
형식:boolean
기본 값:false
replace 속성 을 설정 하면 누 르 면 router.replace()가 아 닌 router.push()를 호출 하기 때문에 내 비게 이 션 후 history 기록 을 남기 지 않 습 니 다.반환 단 추 를 눌 러 도 이 페이지 로 돌아 오지 않 습 니 다.
//replace:true 를 더 하면 history 에 새 기록 을 추가 하지 않 고 방법 명 과 같 습 니 다.현재 history 기록 을 교체 합 니 다.

this.$router.push({path: '/home', replace: true})
//              :
<router-link :to="..." replace></router-link>
//    :
router.replace(...)
종합 사례

this.$router.push({path: '/coach/' + this.$route.params.id, query: queryData});
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기