Angular routerLink没有“[]”

时间:2018-06-14 20:16:53

标签: angular

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

我在教程中看到他们为 routerLink 属性使用了两种语法。

我找不到任何能够说明它们之间差异的文件。

2 个答案:

答案 0 :(得分:4)

这是了解角度的​​重要信息! 。 当你在你周围使用[]属性时,它意味着它等于脚本中的某个变量,如果它不被这个[]覆盖,那么它只是字符串等于

这是将TS变量提供给模板的两种方法

ts

someLinkFromTheTS:string = "/home";

HTML

<a [routerLink]="someLinkFromTheTS"/>
<a routerLink="{{someLinkFromTheTS}}"/>

如果您不想使用变量

<a routerLink="/home"/>
  

括号告诉Angular评估模板表达式。如果省略括号,Angular会将字符串视为常量,并使用该字符串初始化target属性。

     

这是一个非常重要的概念

答案 1 :(得分:3)

来自Angular Guide

  

请记住括号

     

括号告诉Angular评估模板表达式。如果省略括号,Angular会将字符串视为常量,并使用该字符串初始化target属性。它没有评估字符串!