Angular 6:[(ngModel)]="variable" vs. ngModel="{{ variable }}"

DrZ*_*Zoo 3 angular

我正在观看的 Udemy Angular 6 视频显示使用第一种语法。但是,我使用 WebStorm 作为我的 IDE,当我使用[(ngModel)]="variable"语法时,它不会提供任何类型的预测文本/建议。

如果我只输入ng,它将为我提供所有 Angularng属性。如果我选择ngModel它将代码格式化为ngModel="{{ variable }}".

无论我使用哪种方法,代码都会产生相同的结果。

所以我想知道一种方法在技术上是否比另一种方法正确?我很困惑为什么视频显示使用该[()]方法,但 WebStorm 要我使用其他ngModel="{{ }}"方法。

Tom*_*hut 6

有区别,[]意味着单向数据绑定,自顶向下。[()]表示双向数据绑定。

另一方面,[ngModel]="field"相当于ngModel="{{field}}"

此外[(thing)]="field"是一个盒子里香蕉语法糖。它是一个组合[thing]="field"(thingChange)="field = $event"thingChange这是一个EventEmitter.