refactor(router): make RouterLink and RouterLinkWithHref create url in a similar way

This commit is contained in:
vsavkin 2016-08-25 07:27:22 -07:00 committed by Victor Berchet
parent bb9dfbc578
commit 93f323cfa2
1 changed files with 5 additions and 7 deletions

View File

@ -128,8 +128,6 @@ export class RouterLinkWithHref implements OnChanges, OnDestroy {
// the url displayed on the anchor element.
@HostBinding() href: string;
urlTree: UrlTree;
constructor(
private router: Router, private route: ActivatedRoute,
private locationStrategy: LocationStrategy) {
@ -167,17 +165,17 @@ export class RouterLinkWithHref implements OnChanges, OnDestroy {
}
private updateTargetUrlAndHref(): void {
this.urlTree = this.router.createUrlTree(this.commands, {
this.href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree));
}
get urlTree(): UrlTree {
return this.router.createUrlTree(this.commands, {
relativeTo: this.route,
queryParams: this.queryParams,
fragment: this.fragment,
preserveQueryParams: toBool(this.preserveQueryParams),
preserveFragment: toBool(this.preserveFragment)
});
if (this.urlTree) {
this.href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree));
}
}
}