vue는 App에 있습니다.vue 파일에서 감청 루트 변경 페이지 새로 고침 작업

경로가 이동할 때 데이터를 불러올 수 있도록 페이지를 다시 한 번 새로 고쳐야 합니다. 이 때 모니터를 추가합니다. 페이지로 이동할 때 다시 한 번 새로 고칩니다.

export default {
 name: 'App',
 provide(){
 return{
  reload:this.reload
 }
 },
 data(){
 return {
  isRouterAlive:true,
 }
 },
 // 
 watch: {
 //  1
 '$route' (to, from) { // 
  // console.log(999)
  if(to.path == "/"){ // 
  location.reload()
  }
 },
 },
 methods:{
 reload(){
  this.isRouterAlive = false;
  this.$nextTick(function () {
  this.isRouterAlive = true
  });
 },
 },
}
보충 지식: vue 감청 루트의 변화와 감청 페이지의 리셋과 떠나기
양자의 차이를 분명히 가려야 한다.
우선 감청 페이지의 리셋과 종료입니다. 이때 이 페이지에서 리셋을 누르는 것과 같습니다. 만약에 웹 앱이라면 이 앱을 떠나는 것이지 경로를 바꾸는 것이 아닙니다!
만약에 js의 특성으로 모니터링을 한다면 페이지의 리셋과 떠나기를 할 수 있을 뿐만 아니라 루트를 전환할 수 있다.keepalive를 사용할 때 루트를 바꾸어도 무효입니다.
script에서 직접 감청기 감시 beforeunload를 추가합니다.

    // 
    created() {
      window.addEventListener('beforeunload', this.updateHandler)
    },
    beforeDestroy() {
      this.finalItemDetail(); //  
    },
    destroyed() {
      window.removeEventListener('beforeunload', this.updateHandler)
    },
그리고 methods에 finalItemDetail 및 updateHandler 메서드를 추가합니다.

      updateHandler() {
        this.finalItemDetail()
      },
      finalItemDetail() {
        console.log(' ');
      },
만약에 특정한 페이지의 이탈을 감청하고 싶다면, 예를 들어 제가 지금/index에 있고, 지금/index/001 밑에 가면watch에서 루트의 변화를 감청할 수 있습니다. 전제는 실용적인 vue-router입니다.
간단한 판단 루트 변화가 주석으로 떨어질 수 있다면,clear 방법을 직접 실행합니다.
하지만 이것을 주의하면 자신의 루트의 변화를 감청할 수 있다!

    watch: {
      //  , clear 
      // "$route": "clear",
      $route(to , from){
        console.log( to.path, from.path );
        this.clear(to.path);
      }
    },
그리고 나는 추가로 판단을 했다.

      clear(path) {
        if(path!="/item/item01/evaluate")
          console.log(" ");
        this. active=0;
      },
위의 vue는 App에 있습니다.vue 파일에서 감청 루트 변화 리셋 페이지 조작은 편집자가 모두에게 공유한 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주십시오.

좋은 웹페이지 즐겨찾기