since property link known isn example angular routes routerlink angular-routerlink

property - routerlink params angular 5



Diferencia entre[routerLink] y routerLink (2)

¿Cuál es la diferencia entre [routerLink] y routerLink ? ¿Cómo debes usar cada uno?


Asume que tienes

const appRoutes: Routes = [ {path: ''recipes'', component: RecipesComponent } ]; <a routerLink ="recipes">Recipes</a>

Significa que al hacer clic en el hipervínculo Recetas saltará a http://localhost:4200/recipes

Suponga que el parámetro es 1

<a [routerLink] = "[''/recipes'', parameter]"></a>

Significa que al pasar el parámetro dinámico, 1 al enlace, navega a http://localhost:4200/recipes/1


Verá esto en todas las directivas:

Cuando usa paréntesis, significa que está pasando una propiedad enlazable (una variable).

<a [routerLink]="routerLinkVariable"></a>

Entonces esta variable (routerLinkVariable) podría definirse dentro de su clase y debería tener un valor como el siguiente:

export class myComponent { public routerLinkVariable = "/home"; // the value of the variable is string!

Pero con las variables, tienes la oportunidad de hacerlo dinámico ¿verdad?

export class myComponent { public routerLinkVariable = "/home"; // the value of the variable is string! updateRouterLinkVariable(){ this.routerLinkVariable = ''/about''; }

Mientras que sin corchetes solo pasa una cadena y no puede cambiarla, está codificada y será así en toda su aplicación.

<a routerLink="/home"></a>

ACTUALIZACIÓN

La otra especialidad sobre el uso de corchetes específicamente para routerLink es que puede pasar parámetros dinámicos al enlace al que está navegando:

Entonces agregando una nueva variable

export class myComponent { private dynamicParameter = ''129''; public routerLinkVariable = "/home";

Actualización de [routerLink]

<a [routerLink]="[routerLinkVariable,dynamicParameter]"></a>

Cuando desee hacer clic en este enlace, se convertiría en:

<a href="/home/129"></a>