有什么区别[routerLink]
和routerLink
?您应该如何使用每个?
答案
您将在所有指令中看到这一点:
当您使用括号时,这意味着您正在传递可约束属性(变量)。
<a [routerLink]="routerLinkVariable"></a>
因此,可以在您的课内定义此变量(RouterLinkVariable),并且应该具有以下值:
export class myComponent {
public routerLinkVariable = "/home"; // the value of the variable is string!
但是有了变量,您有机会使其动态吧?
export class myComponent {
public routerLinkVariable = "/home"; // the value of the variable is string!
updateRouterLinkVariable(){
this.routerLinkVariable = '/about';
}
在没有括号的情况下,您只会通过字符串,就无法更改它,它是硬编码的,并且整个应用程序都会像那样。
<a routerLink="/home"></a>
UPDATE :
有关专门用于RouterLink的括号的另一个专业是,您可以将动态查询参数传递给您要导航的链接:
因此添加一个新变量
export class myComponent {
private dynamicQueryParameter = '129';
public routerLinkVariable = "/home";
更新[RouterLink]
<a [routerLink]="[routerLinkVariable]"[queryParams]="{unit: dynamicQueryParameter}"></a>
当您想单击此链接时,它将成为:
<a href="/home?unit=129"></a>