diff --git a/modules/@angular/router/src/directives/router_link.ts b/modules/@angular/router/src/directives/router_link.ts
index 3b54226c6d..abf9da123b 100644
--- a/modules/@angular/router/src/directives/router_link.ts
+++ b/modules/@angular/router/src/directives/router_link.ts
@@ -139,7 +139,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 a251df2685..5f7a3d2eae 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);
@@ -2710,7 +2711,8 @@ function expectEvents(events: Event[], pairs: any[]) {
}
}
-@Component({selector: 'link-cmp', template: `link`})
+@Component(
+ {selector: 'link-cmp', template: `link`})
class StringLinkCmp {
}