vue 에서 이전 단계 로 되 돌아 가 는 것 을 금지 하고 경로 에 기록 이 저장 되 지 않 습 니 다.

어떤 경우 에 우 리 는 경로 에 역사 기록 을 추가 하고 싶 지 않다.vue 프로젝트,vue-router 에 과거 기록 을 저장 하고 싶 지 않 음)
vue 홈 페이지 에서 제공 한 바 에 따 르 면 건물 주 는 다음 과 같은 몇 가지 방안 이 있다.

홈 페이지 에 따 르 면성명 식 경로 와 프로 그래 밍 식 경로 가 모두 새로운 기록 을 추가 하 는 동시에 vue 는 replace 를 제공 하여 경로 기록 을 교체 하여 경로 가 역사 기록 을 저장 하지 않 는 상황 을 실현 한다.다음은 건물 주가 정리 한 몇 가지 방법 이다.
1.성명 식 경로

2.프로 그래 밍 방식

3.원생 js 실현
건물 주 는 저녁 에 돌아 가서를 보 았 는데 원생 은 교체 경 로 를 실현 하고 역사 기록 을 기록 하지 않 는 방법 을 실현 했다.
window.open("http://www.baidu.com.......");
경로 역사 에 기록 을 추가 합 니 다(두 번 째 매개 변수 도 있 습 니 다.여러분 은 몇 번 에서 볼 수 있 습 니까?dom 7 장 에서)
window.location.replace("http://www.baidu.com.......");
이전 기록 을 바 꾸 고 기록 을 추가 하지 않 습 니 다.

추가 지식:vue 리 턴 캐 시 문 제 는 A 페이지 에서 B 페이지 로 건 너 뛰 고 캐 시 A 페이지 로 건 너 갑 니 다.B 가 다시 A 로 돌아 갈 때 페이지 는 리 셋 되 지 않 습 니 다.
긴 말 안 할 게 요.그냥 코드 보 세 요~

  // index.js 
    {
    path: '/SearchContent',
    name: 'SearchContent',
    component: SearchContent,
    meta: {
     keepAlive: false,//         
     isBack:false 
    }
   },
   {
    path: '/Shop',
    name: 'Shop',
    component: Shop,
    meta: {
     keepAlive: false, 
     isBack:false//       
    }
   },
 
// searchContent 
beforeRouteEnter(to, from, next) {
     //          meta
     if(from.name == 'Shop'){
       to.meta.isBack = true;
       to.meta.keepAlive = true;
     } //   A   ,    
    next();
  },
  components:{
    "app-brands":Brand
  },
//  activated   keep-alive     
   activated() {
 if(!this.$route.meta.isBack){
  
  //   isBack false,         ,       ,         
  this.getData();
  this.getTree();
 }
 //       false,  isBack   true,          
 this.$route.meta.isBack=false
 
},
//              ,       ,        ,    activated  
 mounted(){
    this.getData()
    this.getTree()
  },
이상 의 이 편 은 vue 에서 이전 단계 로 되 돌아 가 는 것 을 금지 합 니 다.도로 에 역사 기록 이 존재 하지 않 는 것 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 많은 응원 을 바 랍 니 다.

좋은 웹페이지 즐겨찾기