Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
338 views
in Technique[技术] by (71.8m points)

javascript - How to reload a component in Angular without reloading the whole page

I want to reload a route but without reloading the entire page. This is not what I want:

window.location.reload();

I want to reload just the component not the page. This is waht I tried:

  1. Angular: Change the route without reloading
  2. Angular: Refetch data on same URL navigation

Some other random tricks also I tried. Tried following code from this URL:

  1. Angular Basics: Refresh an Angular Component without reloading the same Component

    mySubscription: any;
    
    constructor() {
      this.router.routeReuseStrategy.shouldReuseRoute=function() {
        return false;
      }
    
      this.mySubscription= this.router.events.subscribe((event)=> {
        if(event instanceof NavigationEnd) {
            // Trick the Router into believing it's last link wasn't previously loaded
            this.router.navigated=false;
        }
      })
    }
    

But It's not working due to other reasons. I need a solution. Please suggest something else.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

the skipLocationChange option works for me,try my service

import { Injectable } from '@angular/core';
import { Router } from '@angular/router';

@Injectable()
export class ReloadRouteService {

  constructor(
    private router: Router,
  ) { }

  redirectTo(url: string): void {
    // When skipLocationChange true, navigates without pushing a new state into history.
    this.router.navigateByUrl('/', {skipLocationChange: true}).then(() => {
        this.router.navigate([url]);
    });
  }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...