在Angular中,我们必须使用括号并且必须使用括号

时间:2017-06-04 12:02:25

标签: angular

我对Angular中的属性使用括号和括号感到有点困惑。

<form [formGroup]="vform" (ngSubmit)="onSubmit(vform.value)">
  <input type="text" name="uname" placeholder="User Name" formControlName="uname">
  <input type="text" name="fname" placeholder="Full Name" formControlName="fname">
  <input type="submit" [disabled]="!vform.valid" value="Submit">
</form>

4 个答案:

答案 0 :(得分:2)

无论您将属性传递给组件/元素,都可以使用括号:

说我将size="20"传递给div元素

<div size="20"></div> // passing a value , not a VARIABLE 

<div [size]="sizeVariable"></div> // passing a variable to be bound to 

为了给你一个更广阔的视野,想象一下当使用普通的style标签时,你将一些属性(在这种情况下是颜色和......等样式)传递给元素:

<div style="color:red">

当使用parantesese时,您正在订阅该元素中出现的事件:

<div (click)="doSomething()">

类似于:

<div onClick="doSomething">

有些相似
 $('#yourElement').on('click',doSomething)

答案 1 :(得分:2)

使用括号绑定到(click)="clickHandler()"

等事件

使用方括号绑定[disabled]="true"

等属性

使用两者(在框中称为足球)进行双向绑定,例如[(ngModel)]="attr"

答案 2 :(得分:1)

[] 用于绑定值。它允许传递对象。

<div [allowed]="allowed"></div>

() 用于绑定在触发DOM事件时调用的事件处理程序

<date-comp [title]="childTitle" (notify)="onNotification($event)"></date-comp>

参考 What is the difference between parentheses, brackets and asterisks in Angular2?

答案 3 :(得分:0)

Parantheses用于函数调用,而括号用于传递或设置属性。欲了解更多信息,请访问角度文档@ www.angular.io