将输入数据绑定到模板中的Angular组件时,使用括号而不是引号有什么作用?

时间:2018-08-02 15:14:31

标签: angular angular5

我刚刚遇到了以下代码:

mean_pitch = parselmouth.praat.call(pitch, "Get mean", 0.0, 0.0, "Hertz")

总计和开始输入的值包含在方括号中。我以前从未见过,我找不到它做什么?

谢谢

2 个答案:

答案 0 :(得分:5)

它对输入绑定没有影响。

<div [attr.title]="name"></div>
<div [attr.title]='name'></div>
<div [attr.title]=[name]></div>
<div [attr.title]=(name)></div>

以上所有方法都是相同的。

我只能想象原始程序员错误地写了它。网络浏览器在解析HTML时正在更正错误。

它看起来确实很奇怪,因为我们已经使用()[]{}符号进行绑定了。这里的问题是,Angular仍然受到与HTML相同的限制。如果浏览器接受此作为有效的属性分配,则它将起作用。

有可能会在AOT编译期间触发错误,但是我尚未对此进行测试。

答案 1 :(得分:0)

  • 括号()使用事件绑定<button (click)="readRainbow($event)">

  • 括号[]用于属性绑定<input [value]="firstName">

  • the可以一起用于设置双向数据绑定<my-cmp [(title)]="name">

  • 括号[]与此处<div [ngClass]="{'active': isActive, 'disabled': isDisabled}">
  • 这样的指令一起使用

此链接包含有关此主题angular guide cheatsheet

的所有详细信息