Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击routerLink时,Angular不会重新加载组件_Angular_Angular6_Angular2 Routing - Fatal编程技术网

单击routerLink时,Angular不会重新加载组件

单击routerLink时,Angular不会重新加载组件,angular,angular6,angular2-routing,Angular,Angular6,Angular2 Routing,调用click event时无法重新加载组件。我尝试了以下代码 (dealCode,periodName) => { let url:any='/valuation;dealcode=J9PPR;fundPeriod=2019Q3;useDefault=true'; this.router.navigateByUrl('/dummy', { skipLocationChange: true }); setTimeout(() =>this.router.n

调用click event时无法重新加载组件。我尝试了以下代码

 (dealCode,periodName) => {

    let url:any='/valuation;dealcode=J9PPR;fundPeriod=2019Q3;useDefault=true';
    this.router.navigateByUrl('/dummy', { skipLocationChange: true });
    setTimeout(() =>this.router.navigate([url]));
  }

Angular正在进行url编码,你必须告诉他相信你

import { DomSanitizer } from '@angular/platform-browser';
constructor(
    private _sanitzer: DomSanitizer
) { }
你的职能

(dealCode,periodName) => {

    let url:any='/valuation;dealcode=J9PPR;fundPeriod=2019Q3;useDefault=true';
    this.router.navigateByUrl('/dummy', { skipLocationChange: true });
    const safeUrl = this._sanitzer.bypassSecurityTrustUrl(url);

    setTimeout(() =>this.router.navigate([safeUrl]));
  }

这是本机功能。Angular不会重新加载组件,除非为其提供的数据发生更改(
@Input
)或uri/route参数更新为新值。