如果我在同一条路线上,我再次从导航栏点击。它没有做任何事情。
如何从导航栏本身刷新我的组件。 routerLink中是否有任何方法。
<li [routerLinkActive]="['active']"><a [routerLink]="['/campaigns']">Creative</a></li>
<li [routerLinkActive]="['active']"><a [routerLink]="['/market-survey']">Survey</a></li>
再次点击意味着,假设您单击广告素材(在我的示例中)将激活相应的路线并加载组件。然后我再次点击广告素材。我希望该组件应该刷新
答案 0 :(得分:1)
这可以通过创建另一个组件
来解决refresh.component.ts
import { Component, OnInit } from '@angular/core';
import {Router, ActivatedRoute, Params} from '@angular/router';
@Component({
selector: 'app-refresh',
template: `
<p>
refresh Works!
</p>
`,
styles: []
})
export class RefreshComponent implements OnInit {
constructor(private activatedRoute:ActivatedRoute,private route:Router) { }
ngOnInit() {
this.activatedRoute
.queryParams
.subscribe(params => {
if(params.url){
this.route.navigate([params.url]);
}
});
}
}
app.routing
{path:'refresh',component:RefreshComponent},
我的新导航li是
<li [routerLinkActive]="['active']"><a [routerLink]="['/refresh']" [queryParams]="{url:'campaigns'}" skipLocationChange="true">My AMP Creative</a></li>