Angular将字符串传递给组件 - 有或没有绑定?

时间:2017-05-12 10:49:15

标签: angular angular2-template

我知道有几种方法可以将字符串文字传递给组件:

<component inputField="string"></component>
<component [inputField]="'string'"></component>
<component inputField="{{'string'}}"></component>

他们有区别吗? Angular是以第二种和第三种方式检查属性的变化而不是检查第一种属性,或Angular是否聪明,它是否检查包含字符串文字的属性的任何更改?

2 个答案:

答案 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上有详尽的解释。我会背诵它:

因此,经验法则是切勿使用不带方括号的指令。