我知道有几种方法可以将字符串文字传递给组件:
<component inputField="string"></component>
<component [inputField]="'string'"></component>
<component inputField="{{'string'}}"></component>
他们有区别吗? Angular是以第二种和第三种方式检查属性的变化而不是检查第一种属性,或Angular是否聪明,它是否检查包含字符串文字的属性的任何更改?
答案 0 :(得分:0)
它们的不同之处在于第二个版本是最好的。假设您的代码中有它:
<component [inputField]="'string'"></component>
现在,您需要参数化inputField的值。您需要做的是将'string'替换为inputFieldProperty,它是具有所需值的参数名称:
<component [inputField]="inputFieldProperty"></component>
如您所见,这等同于更改JS(或TS)中的任何内容:
inputField = 'string';
收件人:
inputField = inputFieldProperty;
因此很容易弄清楚。 3中最干净的溶液。
答案 1 :(得分:0)
我想用方括号说。 @Tomasz Smykowski已经解释了很多。但是有一个非常重要的事情要强调。在介质here上有详尽的解释。我会背诵它:
因此,经验法则是切勿使用不带方括号的指令。