Templating with Href in Angular (4)

Templating with Href in Angular (4)

So I know that in Angular 2 we can simply substitute ng-href for href in order to make templated urls work, but it doesn't work for me in Angular 4. I can't find any documentation for it on angular.io either, so how does it work?

Edit: Maybe I have the version #s confused. I'm concerned with the latest Angular (angular.io)

I want to link to external stylesheets, like link rel="stylesheet" href="...">

where ... is {{link}}, link =

1

4 Answers

AngularJS required that you use ng-href because there were issues with binding expressions to some types of DOM elements and attributes.

This problem doesn't exist in Angular now.

The following will work as expected:

<a href="{{your expression here}}"></a>

You can also bind using the attr prefix like this:

<a [attr.href]="your expression here"></a>

As others have mentioned. If you are using routing and want to add a href attribute to a specific route. Use the routerLink directive as it will add the href attribute to <a> tags.

The main difference between Angular 2 and 4 is @angular/Router

use this as route

[{ path: 'xyz', component: XYZComponent}]

and redirect as

<a routerLink='/xyz' >xyz</a>
1

Don't use href="page" and ng-href="page" however use routerLink="/page"

1

Should be using routerLink for generating links

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Elena Rostova
Author

Elena Rostova

Elena Rostova holds a Master's degree in Public Health Journalism. She covers groundbreaking medical research, holistic wellness trends, mental health awareness, and nutritional science.