diff --git a/modules/@angular/router/src/directives/router_link.ts b/modules/@angular/router/src/directives/router_link.ts index 097636c4df..ad105077b4 100644 --- a/modules/@angular/router/src/directives/router_link.ts +++ b/modules/@angular/router/src/directives/router_link.ts @@ -133,7 +133,7 @@ export class RouterLink { */ @Directive({selector: 'a[routerLink]'}) export class RouterLinkWithHref implements OnChanges, OnDestroy { - @Input() target: string; + @HostBinding('attr.target') @Input() target: string; @Input() queryParams: {[k: string]: any}; @Input() fragment: string; @Input() preserveQueryParams: boolean; diff --git a/modules/@angular/router/test/integration.spec.ts b/modules/@angular/router/test/integration.spec.ts index fe955ba078..f84e398153 100644 --- a/modules/@angular/router/test/integration.spec.ts +++ b/modules/@angular/router/test/integration.spec.ts @@ -998,6 +998,7 @@ describe('Integration', () => { const native = fixture.nativeElement.querySelector('a'); expect(native.getAttribute('href')).toEqual('/team/33/simple'); + expect(native.getAttribute('target')).toEqual('_self'); native.click(); advance(fixture); @@ -2646,7 +2647,8 @@ function expectEvents(events: Event[], pairs: any[]) { } } -@Component({selector: 'link-cmp', template: `link`}) +@Component( + {selector: 'link-cmp', template: `link`}) class StringLinkCmp { }