angular 中括号 [] () {} 它们绑定什么以及何时使用哪个

The angular brackets [] () {} what they bind and when to use which

我看到括号用于数据绑定,但有什么区别?

以下片段是我经常使用的片段。但大多数情况下都是按文档记录的,但不明白为什么。

以上所有语法都可以在 Angular 文档的 page 中找到。如果愿意,您可以在其他博客上阅读更多关于 Angular 的模板语法。

1) [class]="myclass"

方括号[...]表示one-way属性从组件逻辑(数据)到视图(目标元素)的绑定。

2) (ngModelChange)

这表示 event binding,它允许目标侦听某些事件,例如点击和按键。

3) [(ngModel)]="mymodel2"

这表示two-way data binding,结合了以上两种语法。 属性的数据显示在视图上,同时,当用户进行任何更改时,属性也会更新。

4) <ion-input placeholder="{{'INPUT_TEXT' | translate}}"/>

您只是将另一个组件导入当前组件,并且 placeholder 属性被分配了组件 属性 INPUT_TEXTtemplate interpolation 的值。

pipe operator (|)允许您对显示值进行变换。管道接受输入,return 相应的转换值

5) 类似于4.

  • [class]="myclass" -> 一种方式 属性 绑定, .ts 中变量 class 的变化将反映在视图中。 (从打字稿绑定到 HTML)
  • (ngModelChange)="mymodel" -> 单向事件绑定,当 modelChange 事件发生时,执行表达式中存在的任何操作,(从 HTML 到 typescript 的单向绑定)
  • [(ngModel)]="mymodel2" -> 双向绑定,打字稿中变量 mymode2 的变化将反映在视图中,如果视图中发生任何变化,如输入,然后该更改也会反映在打字稿中。
  • <ion-input placeholder="{{'INPUT_TEXT' | translate}}"/> -> 插值,当"{{}}"内的数据值发生变化时,placeholder属性的值会更新
  • <button>{{'BUTTON_TEXT'|translate}}</button> -> 再次,插值,只是不绑定到任何 属性.